将具有数组中值的Python字典输出到CSV文件。

2024-06-13 13:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

第一个问题,请原谅我肯定会犯的各种各样的错误。在

我在这方面已经工作了一段时间,我承认自己被难住了——一般意义上的词典让我有点头疼,因为我的背景更多的是统计方面的知识,数据的结构相当明确。我在Python2.7中工作,我遇到了以下问题:在一些分析的最后,使用NetworkX包,我有两个我感兴趣的字典,我称之为Able和Baker。在

每个基本上都是网络节点名称和值的字典。比如说:

乔:7凯特:9迈克:3和乔:12凯特:4迈克:2

但是这个输出将离开Python,虽然我可以很容易地将整个过程输出为两个独立的文件(并且一直到现在为止),但是将它作为一个单独的CSV文件输出,格式如下:

乔,7岁,12岁
凯特,9岁,4岁
迈克,3,2

现在,我运行以下命令将两个字典合并为一个字典:

output = dict((k, [Able[k], Baker.get(k)]) for k in Able)
output.update((k, [None, Baker[k]]) for k in Baker if k not in Able)

这让我接近我想要的东西,也就是和乔一起的字典。但我真的很困惑如何让CSV writer合作并将[7,12]输出为不同的实体(即7,12),而不是数组的一部分。最接近我的是:

^{pr2}$

把乔排成一排排。有谁能给我指出正确的方向吗?在


Tags: 文件csv数据inforoutput字典错误
2条回答

您将向writer.writerow传递一个包含名称和两个数字的列表。为了得到你想要的,把这个列表平展成一个名字和数字的列表。简单方法:

for node, value in output.items():
    writer.writerow([node] + value)

更换 writer.writerow([node,value]) 具有 writer.writerow([node]+value)

相关问题 更多 >