【发布时间】:2011-10-15 18:05:33
【问题描述】:
这里的第一个问题,请原谅我肯定会犯的各种错误。
我已经为此工作了一段时间,我承认自己被难住了 - 一般意义上的字典让我有点头疼,因为我的背景更多是统计方面的,其中数据具有非常明确的结构。我正在使用 Python 2.7,我遇到了以下问题: 在一些分析结束时,使用 NetworkX 包,我有两个我感兴趣的字典,我将它们称为 Able 和 Baker。
每个本质上都是网络节点名称和值的字典。所以像:
乔:7 凯特:9 迈克:3 -and- 乔: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)
这让我接近了我想要的,即一本带有 Joe 的字典:[7, 12]。但老实说,我对如何让 CSV 编写器合作并将 [7,12] 输出为不同的实体(即 7,12)而不是作为数组的一部分感到困惑。我得到的最接近的是:
net_out = open('output.csv', 'w')
writer = csv.writer(net_out, dialect='excel')
for node, value in output.items():
writer.writerow([node,value])
net_out.close()
这会输出一排乔,[7,12]。谁能指出我正确的方向?
【问题讨论】:
标签: python dictionary export-to-csv