我有一个清单:
[cat, dog, mouse]
我希望所有列表项都是csv文件中的标题,如下所示:
cat,dog,mouse
data,data,data
date,data,data
我有以下代码来打开文件,但我不确定如何将动物分配到标题:
with open(fname, 'w') as my_csv:
my_csv.write(#cat,dog,mouse needs to go in here)
csv_writer = csv.writer(my_csv, delimiter=',')
我不想明确地写cat,dog,mouse
,因为这些动物会因用户输入而在代码中进一步选择动物而改变。
答案 0 :(得分:1)
我认为最好的方法是使用csv.DictWriter
。以下是您的问题的一个示例:
import csv
with open('names.csv', 'w') as csvfile:
fieldnames = ['Cat', 'Dog', 'Mouse']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'Cat': 'Data', 'Dog': 'Data', 'Mouse': 'Data'})
答案 1 :(得分:0)
只需按,
加入元素,然后将其写入csv文件。
li = ['cat', 'dog', 'mouse']
with open(fname, 'w') as my_csv:
my_csv.write(','.join(li))
csv_writer = csv.writer(my_csv, delimiter=',')
答案 2 :(得分:0)
只需将列表写为第一行即可。另请注意,应使用Python 3中的newline=''
或Python 2中的'wb'
打开该文件,以便正确处理所有操作系统上的换行符:
li = ['cat', 'dog', 'mouse']
with open(fname, 'w', newline='') as my_csv:
csv_writer = csv.writer(my_csv, delimiter=',')
csv_writer.writerow(li)