我有一个Python字典,我正在写一个csv文件。 字典的格式如下:
{'title': u'A Preface to Democratic Theory.', 'year': u'1957'}
{'title': u'Joseph A. Schumpeter, Capitalism, Socialism, Democracy, New York 1942', 'year': None}
问题是标题中的“逗号”。由于键值中有逗号,因此csv将其拆分为不同的单元格。所以我在第一个单元格中有Joseph A. Schumpeter,在第二个单元格中有资本主义等等。 这是我编写csv文件的代码:
def make_csv(mydict):
with open('mydata.csv', 'a') as f:
writer = csv.DictWriter(f,fieldnames=[""], delimiter=',')
writer.writeheader()
[f.write('{1},'.format(key, normalize(value))) for key, value in mydict.items()]
有人可以帮忙吗?
答案 0 :(得分:1)
为什么不指定fieldnames
并使用DictWriter
' writerow
方法。
如果您不需要标题,则可以跳过writeheader
:
def make_csv(list_of_dicts):
with open('mydata.csv', 'a') as f:
writer = csv.DictWriter(f,fieldnames=["title", "year"], delimiter=',')
writer.writerows(list_of_dicts)
将dicts列表作为参数传递给您的函数,并使用writerows
方法一次性写入所有数据。