Я все еще новичок в Python (3). У меня есть НАГРУЗКА данных датчика, но ограничение загрузки вынуждает меня извлекать данные по частям, а не все сразу (каждый загруженный файл .zip содержит папку с файлами .csv для данных каждого датчика в течение заданного периода времени). Таким образом, у меня есть десятки больших файлов .csv, распределенных по нескольким папкам, которые я в конечном итоге хотел бы объединить / объединить / добавить в один файл .csv для полных данных каждого датчика. Чтобы усложнить задачу, имена файлов .csv для каждого датчика в папках идентичны. Я разработал следующий код для переименования и перемещения файлов в одну папку, чтобы позже я мог объединить / объединить / добавить. Он отлично работает, за исключением того факта, что число, которое я вставляю в новое имя файла, не увеличивается.
import os
path = r"C:\directory\sensordatafolders" #folders with .csv files
newPath = r"C:\directory\new" #destination for renamed files
for root, dirs, files in os.walk(path):
for name in files:
base, extension = os.path.splitest(name)
if not os.path.exists(os.path.join(newPath, base + extension))
oldfile = os.path.join(os.path.abspath(root), name)
newfile = os.path.join(newPath, base + extension)
os.rename(oldfile, newfile)
else:
i = 1
oldfile = os.path.join(os.path.abspath(root), name)
newfile = os.path.join(newPath, base + '_' + str(i) + extension)
i +=1
os.rename(oldfile, newfile)
После второго цикла (файлы * .csv и * _1.csv успешно перемещены) он дает мне ошибку «Невозможно создать файл, когда этот файл уже существует». Это потому, что (я думаю) он пытается создать файлы * _1.csv вместо увеличения до * _2.csv и т. Д.