如何将标题添加到csv中的第一行?
我的解决方案当前附加了所有内容
类似于:writer.writerow(['DataA', 'DataB', 'DataC', 'DATA D'])[0]
我觉得有一种简单的方法可以做到这一点,但我忽略了显而易见的事情。
我已经在网上看了很多例子,但我仍然在为如何在csv中轻松做到这一点而苦苦挣扎。
举个例子,假设我想要抓取SO - load - up selenium的数据,将其写入四列,并在20页中执行此操作。我希望每次都将标题写到第1行,然后追加抓取的数据
with open('C:\\fa.csv', 'a+', newline='', encoding="utf-8") as outfile:
writer = csv.writer(outfile)
writer.writerow(['DataA', 'DataB', 'DataC', 'DataD'])
for row in zip(ZAW_text, RESULTS1, RESULTS):
writer.writerow(row)
#writer.writerows({'Date': row[0], 'temperature 1': row[1], 'temperature 2': 0.0} for row in writer)
print(row)发布于 2017-12-01 16:42:40
import csv
import os
file_name = 'C:\\fa.csv'
fake_data = [[1, 2, 3, 4, 5, 4444, 6, 67], [1, 2, 3, 4, 5, 4444, 6, 67],
[1, 2, 3, 4, 5, 4444, 6, 67], [1, 2, 3, 4, 5, 4444, 6, 67]]
headers = ['DataA', 'DataB', 'DataC', 'DataD']
if os.path.isfile(file_name):
with open(file_name, 'a', encoding="utf-8") as outfile:
writer = csv.writer(outfile)
for datum in fake_data:
writer.writerow(datum)
else:
with open(file_name, 'w', encoding="utf-8") as outfile:
writer = csv.writer(outfile)
writer.writerow(headers)
for datum in fake_data:
writer.writerow(datum)在第一行open('C:\\fa.csv', 'a+', newline='', encoding="utf-8")中,您有a+,它是append you want w,它是write。
看看这个:https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
https://stackoverflow.com/questions/47589327
复制相似问题