我有一本字典看起来像:
mydict = {"foo":[1,2], "bar":[3,4], "asdf":[5,6]}
我正在尝试将此文件写入CSV文件,以便它看起来像:
^{pr2}$我花了最后一个小时寻找解决方案,最近的一个建议是这样做:
headers = mydict.keys()
with open("File2.csv","w") as f:
writer = csv.writer(f)
writer.writerow(headers)
writer.writerows(zip(mydict.values())
这会将标头写入正常,但不会写入值。以下是我的输出:
foo,bar,asdf
[1,2]
[3,4]
[5,6]
如何获得所需的输出?我真的很感激你的帮助。谢谢你
使用
zip(*mydict.values())
,而不是zip(mydict.values())
。区别在于:基本上,第二个版本与
zip([1, 2], [3, 4], [5, 6])
执行相同的操作。在文档中称为Unpacking Argument Lists。在要强制排序,请使用以下命令:
^{pr2}$这包括报头,所以只需将其传递到
writerows()
并删除对报头的writerow()
调用。在当然,您可以在那里为
sorted()
函数提供一个key
参数来进行任何排序。例如,为了确保与问题中的顺序相同:另外,不使用
csv
:你用过tablib吗?在
我通常用tablib来做这个用途。使用起来非常简单:https://pypi.python.org/pypi/tablib/0.9.3
http://docs.python-tablib.org/en/latest/api/
相关问题 更多 >
编程相关推荐