所以我有一个包含以下数据的文本文件:35467 17494 1197992662 35467 4190 \N35467 18822 1209937599 37188 7741 1219156787 37188 8561 1199853037 我想创建一个networkx图,只使用前两列作为我的节点,边缘是前两个数字是否在同一行上,而完全忽略第三列。
1 回答
冉冉说
TA贡献1877条经验 获得超1个赞
如果要将文件解释为边缘列表,同时忽略前两个后面的所有值,则以下操作应该有效:columns
import networkx as nx
import csv
g = nx.Graph()
csvfile = csv.reader(open("test.csv", "r"), delimiter="\t")
for line in csvfile:
x, y = line[:2]
g.add_edge(x, y)
print(g.nodes())
# ['35467', '17494', '4190', '18822', '37188', '7741', '8561']
print(g.edges())
# [('35467', '17494'), ('35467', '4190'), ('35467', '18822'), ('37188', '7741'), ('37188', '8561')]
添加回答
举报
0/150
提交
取消