csv.writer не будет закрываться при записи чего-либо в файл Excel csv - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь собрать много CSV-файлов в один большой.Когда я запускаю свою программу (см. Ниже), она заполняет правильные данные в первых строках указанного CSV-файла, но затем начинает переменный интервал между данными и оставляет пустые ячейки.Это также не останавливает заполнение файла CSV, это непрерывно.Объединенные данные должны составлять несколько тысяч КБ, но они не остановились даже после того, как они достигли 5 миллионов КБ, и даже не внесли все необходимые данные.Переменная Dir определена как импортирующая csv-файлы.

Я попытался добавить инструкцию wf.close () в конец кода, но у меня осталось сообщение «AttributeError:« _csv.writer »объект не имеетатрибут 'close' "

csv_file_list = glob.glob(Dir + '/*.csv')
wf = csv.writer(open(Avg_Dir + '.csv','w'),delimiter = ',') #wb to w

for files in csv_file_list:
    #print (files) #debug, confirmed
    rd = csv.reader(open(files,'r'),delimiter = ',')
    #rd.next()
    for row in rd:
        print (row) #debug, confirmed
        wf.writerow(row)

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

1 Ответ

0 голосов
/ 21 мая 2019

Используйте с оператором для автоматического открытия и закрытия файла CSV

with open(path, 'w') as file:
    w = csv.writer(file)
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...