Как добавить заголовок в csv-файл в Python?
Я пробовал много решений для добавления заголовка в мой csv-файл, но ничего не работает должным образом. Вот они :
я использовал метод writerow, но мои данные перезаписывают первую строку.
-
я использовал метод DictWriter, но я не знаю, как правильно его заполнить. Вот мой код:
csv = csv.DictWriter(open(directory +'/csv.csv', 'wt'), fieldnames = ["stuff1", "stuff2", "stuff3"], delimiter = ';') csv.writeheader(["stuff1", "stuff2", "stuff3"])
Я получил ошибку "2 аргумента вместо одного", и я действительно не знаю, почему.
любой совет?
2 ответов
все, что вам нужно сделать, это позвонить DictWriter.writeheader()
без аргументов:
with open(os.path.join(directory, 'csv.csv'), 'wb') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames = ["stuff1", "stuff2", "stuff3"], delimiter = ';')
writer.writeheader()
вы уже сказал DictWriter()
каковы ваши заголовки.
я столкнулся с аналогичной проблемой при написании CSV-файла. Мне пришлось прочитать csv-файл и изменить некоторые поля в нем. Писать заголовок в CSV-файл, я использовал следующий код:
reader = csv.DictReader(open(infile))
headers = reader.fieldnames
with open('ChartData.csv', 'wb') as outcsv:
writer1 = csv.writer(outcsv)
writer1.writerow(headers)
и когда вы пишете строки данных, вы можете использовать DictWriter следующим образом
writer = csv.DictWriter(open("ChartData.csv", 'a' ), headers)
В приведенном выше коде "а" расшифровывается как добавление.
В заключение - > использовать a to добавить сведения в CSV после того как вы написали свой заголовок в тот же файл