Как проверить, совпадает ли одно и то же имя файла в 2 каталогах и добавить его, используя python? - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть 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 Ответ

0 голосов
/ 27 февраля 2020

Можете ли вы попробовать следующее:

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 Я оставляю это вам, пожалуйста, дайте мне знать, если возникнут проблемы ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...