Записать дату в начало файла CSV python - PullRequest
0 голосов
/ 27 мая 2020

У меня есть этот код:

def write_csv(path, inputdata):
    with open(path, 'w', errors='ignore', newline='') as newfile:
        writer = csv.writer(newfile, dialect='excel')
        writer.writerows(inputdata)

Я хотел бы написать дату в верхней части файла CSV. Я пытался включить

writer.writerow(datetime.date.today())

Это, как и ожидалось, действительно вернуло _csv.Error: iterable expected, not datetime.date Как еще я мог это сделать? Включите его как имена полей и напишите как DictWriter? Я не уверен, что это сработает.

1 Ответ

1 голос
/ 28 мая 2020

writerow принимает итерацию. Если у вас только одна строка, вам нужно обернуть ее в [] или writerow будет перебирать отдельные символы в повторяемой строке вместо перебора объектов в повторяемом списке.

import csv
import datetime

with open('test.csv', 'w', newline='') as newfile:
        writer = csv.writer(newfile)
        writer.writerow([f'{datetime.date.today():%d-%B-%Y}'])

Вывод:

27-May-2020
...