Невозможно сопоставить файлы - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь добавлять свои csv файлы еженедельно.Существует много файлов за неделю, но мне нужно только добавить файл за неделю, чтобы я мог публиковать файл еженедельно, который будет консолидированным еженедельным CSV-файлом.

файлы этоговведите соглашение об именах:

MidnightJob_Results_1-02-01-2019.csv

MidnightJob_Results_1-03-01-2019.csv

MidnightJob_Results_1-04-01-2019.csv

Выше формат в формате Week-dd-mm-yyyy.Результат должен состоять в том, что он соответствует файлам недели и добавляет их в один файл.Однако я не в состоянии заставить функцию glob понять, как этого добиться.Пожалуйста, предложите

import datetime;
from glob import glob
current_week =(datetime.date.today().isocalendar()[1]-1)
file_name = "MidnightJob_Results_%d-" % (current_week)
print current_week
print file_name
with open('main.csv', 'a') as singleFile:
for csv in glob("file_name*.csv"):
    if csv == 'main.csv':
        pass
    else:
        for line in open(csv, 'r'):
            singleFile.write(line)

1 Ответ

0 голосов
/ 04 января 2019

Прежде всего вы должны отформатировать имя_файла в функции glob, как показано ниже, затем вы должны открыть файл в режиме добавления, потому что, если файл существует, вы не хотите удалять старый файл.

import datetime;
from glob import glob 
current_week =(datetime.date.today().isocalendar()[1]-1)
file_name = "MidnightJob_Results_%d-" % (current_week)
print current_week
print file_name
with open('main.csv', 'a') as singleFile:
   for csv in glob("%s*.csv"%(file_name)):
        if csv == 'main.csv':
            pass
        else:
            for line in open(csv, 'a+'):
                 singleFile.write(line)
...