writerow()
的功能csv.DictWriter
类期望参数为dict
,而您正在向它传递字符串。中明确提到csv.DictWriter文档其中说:
创建一个像普通编写器一样操作但映射的对象
字典到输出行。 fieldnames 参数是一个序列
标识字典中值的顺序的键
传递给写入行()方法写入 csv 文件。
为了使其工作,请通过dict
object (带有csv标题和相应列值之间的映射)。例如:
import csv
names = ['kisha' ,'smith' , '[email protected]', 40000 , '1-1-2029' ,'janitor' ]
fieldnames2 = ['first' , 'last' , 'email' , 'salary' , 'DOB' , 'occupation']
# for creating the dictionary object mapping "names" and "fieldnames2"
my_names_dict = dict(zip(fieldnames2, names))
with open('/path/to/my_file.csv' , 'w')as employee_file:
csvwriter = csv.DictWriter(employee_file , fieldnames = fieldnames2 , delimiter = ',')
csvwriter.writeheader()
csvwriter.writerow(my_names_dict)
上面的代码将创建一个文件/path/to/my_file.csv
内容为:
first,last,email,salary,DOB,occupation
kisha,smith,[email protected],40000,1-1-2029,janitor