从制表符创建网络图形 - 分隔的文本文件

所以我有一个包含以下数据的文本文件:


35467 17494 1197992662 

35467 4190  \N

35467 18822 1209937599 

37188 7741 1219156787 

37188 8561 1199853037 

我想创建一个networkx图,只使用前两列作为我的节点,边缘是前两个数字是否在同一行上,而完全忽略第三列。


慕田峪9158850
浏览 56回答 1
1回答

冉冉说

如果要将文件解释为边缘列表,同时忽略前两个后面的所有值,则以下操作应该有效:columnsimport networkx as nximport csvg = 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')]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python