【发布时间】:2017-03-10 20:36:20
【问题描述】:
我有一本字典,我希望将它保存到一个 csv 文件中。但是,使用下面的代码,值(ei。键中的所有数据都放在一个单元格中)。但是,我要求每个值位于其所属键的同一行内的不同列中。
csvPatientListFinal = csv.writer(open('PatientListFinal.csv','wb'))
for key, value in PatientList.items():
csvPatientListFinal.writerow([key, value])
我尝试过,但我的努力没有成功。
谢谢
更新 1:
抱歉打错了,但是代码可以正常工作(它是在没有错别字的脚本中编写的),但这不是所需的输出。我的脚本创建的字典有 14 个键,每个键中有 721 个项目。它们是案例主题的数据库。 Dictionary 的一个示例如下:我使用“|”所以代表每个单元格之间的线条,我的错误。字典中的数据如下所示:
PatientList = {'code' : ['1','2','3','4','5',6], 'name' : ['aho','awd','faw','fas','gas','gdas','fasw'] , 'surnames' : ['awds','fhtt','hfr','hyk','uyr','rtyd'], 'ID' : ['123','345','654','234','645','354'], 'description' : ['a long text','a long text','a long text','a long text','a long text','a long text'] }.
csv表格格式应该是(“|”是一行中每个单元格之间的空格)
(标题)A|B|C
(第 1 行)1|A|卡罗
(第 2 行)2|B|al
但我的输入是
(一个单元格中的标题)A,B,C
(一个单元格中的第 1 行)1 个卡罗尔
(一个单元格中的第 2 行)2 B al
所有在同一列下,对应于它们所属的键。这是所需输出的图像表示:
我现在正在尝试以下代码:
csvPatientListFinal = csv.writer(open('PatientListFinal.csv','wb'))
for header in PatienList.keys():
csvPatientListFinal.writerow(izip[header, value for value in PatientList[header]])
但是,它表示“值换值”区域中的语法无效错误。我正在尝试找出原因。
有没有更好的方法来实现我想要的输出?代码有什么问题吗(除了我目前无法猜测为什么会出现的语法错误)?
感谢您的帮助
【问题讨论】:
标签: python python-2.7 csv dictionary export-to-csv