我希望您能够将字典列表写入CSV文件并进行翻译。我希望键值成为CSV文件的标头,并且与每个键相关联的值在与该键关联的列中。
如果我的字典是:
我尝试使用csv.DictWriter,如下所示:
{'600': [321.4, 123.5, 564.1, 764.1], '300': [12.7, 154.7, 327.5, 894.4], 'Position': [1,2,3,4]}
我尝试使用csv.DictWriter,如下所示:
:
import csv
outputFile=open('chan_press_prof.csv','wb')
dictPress={'600': [321.4, 123.5, 564.1, 764.1], '300': [12.7, 154.7, 327.5, 894.4], 'Position': [1,2,3,4]}
fields=['Position','300','600']
writeFile = csv.DictWriter(outputFile, fieldnames=fields)
writeFile.writeheader()
writeFile.writerow(dictPress)
outputFile.close()
但我得到了一堆乱码:
位置,300,600 "[1, 2, 3, 4]","[12.7, 154.7, 327.5, 894.4]","[321.4, 123.5, 564.1, 764.1]"
我试图遵循Python中的列表字典转CSV的建议。 那更接近了,但不起作用,因为列的顺序是错误的:
代码:
import csv
import StringIO
from itertools import izip_longest
outputFile=open('chan_press_prof.csv','wb')
dictPress={'600': [321.4, 123.5, 564.1, 764.1], '300': [12.7, 154.7, 327.5, 894.4], 'Position': [1,2,3,4]}
fields=['Position','300','600']
rows=izip_longest(*dictPress.values())
buf=StringIO.StringIO()
writeFile=csv.writer(outputFile)
writeFile.writerow(fields)
writeFile.writerows(rows)
outputFile.close()
并输出: 位置,300,600 12.7,1,321.4 154.7,2,123.5 327.5,3,564.1 894.4,4,764.1
请注意,位置值(1、2、3、4)不在正确的列中。
非常感谢您的帮助!