Как проверить, совпадает ли одно и то же имя файла в 2 каталогах, и добавить его с помощью python?
У меня есть 2 каталога с несколькими файлами (читаются как CSV). Имя файла обозначает конкретный номер клиента. Я читаю файлы следующим образом:
for dirpath, dirs, files in os.walk("/path/to/file/"):
for file in files:
directory1(os.path.join(dirpath, file))
Я читаю эти файлы как CSV.
Если имя файла (файла) каталога2 совпадает с именем файла в каталоге1, то я хочу добавить данные вместе как один файл.
Если имя файла (файла) отсутствует в каталоге1, скопируйте данные как есть.
Эти новые файлы следует сохранить в новом каталоге.
1 ответ
Можете ли вы попробовать следующее:
import os
import glob
import shutil
dir1 = "/path/to/dir1/"
dir2 = "/path/to/dir2/"
new_dir = "/path/to/dir3/"
fpaths_dir1 = glob.glob(os.path.join(dir1, '*.csv'))
fpaths_dir1 = [os.path.basename(fpath) for fpath in fpaths_dir1]
fpaths_dir2 = glob.glob(os.path.join(dir2, '*.csv'))
fpaths_dir2 = [os.path.basename(fpath) for fpath in fpaths_dir2]
for fpath in fpaths_dir1:
if fpath in fpaths_dir2:
f1 = os.path.join(dir1, fpath)
f2 = os.path.join(dir2, fpath)
# write your code to open both files
# and contatenate
else:
f1 = os.path.join(dir1, fpath)
f3 = os.path.join(new_dir, fpath)
shutil.copyfile(f1, f3)
append the data together as one file
оставляю это на ваше усмотрение, любезно дайте мне знать, если возникнут проблемы.