我正在使用python2.7和networkx来绘制我的网络的spring布局图。我想把我在网络上的每一个位置都进行比较。听起来很简单,我的代码如下:
pos_spring = nx.spring_layout(H, pos=fixed_positions, fixed = fixed_nodes, k = 4, weight='passengers')
这条线计算我要存储的稍后用于打印的位置。字典(pos_spring)如下所示:
^{pr2}$正在写入文件:
w = csv.writer(open("Mexico_spring_layout_positions_2.csv", "w"))
for key, val in pos_spring.items():
w.writerow([key, val])
文件内容如下所示:
1536,[ 0.51060853 0.80129841]
1025,[ 0.47442269 0.99838177]
1030,[ 0.02952256 0.45073233]
正在读取文件:
with open('Mexico_spring_layout_positions_2.csv', mode='r') as infile:
reader = csv.reader(infile)
pos_spring = dict((rows[0],rows[1]) for rows in reader)
现在pos\u spring的内容如下所示:
{'2652': '[ 0.78480322 0.103894 ]',
'1260': '[ 0.8834103 0.82542163]',
'2969': '[ 0.33044548 0.31282113]',
不知何故,这些数据看起来与存储在csv文件中的原始字典不同。在写入和/或读取数据以修复此问题时,需要更改哪些内容?提前谢谢。在
谨致问候, 弗兰克
您不能在CSV文件中存储NumPy数组并维护数据类型。记住,CSV文件只能存储文本。您看到的是NumPy数组的文本表示。在
相反,您可以在写入csv文件时解压NumPy数组:
当你回过头来读的时候再转换回NumPy。对于此步骤,您可以使用字典理解:
^{pr2}$相关问题 更多 >
编程相关推荐