为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕田峪9158850 2022-08-16 16:30:31
所以我有一个包含以下数据的文本文件: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')]


查看完整回答
反对 回复 2022-08-16
  • 1 回答
  • 0 关注
  • 55 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信