簡體   English   中英

在txt.file中使用3列邊表

[英]Using edgelist with 3 columns in txt.file

我是NetworkX的新手,但是有問題。 我有.txt文件,該文件包含3列中的許多數據,這些數據列由制表符分隔,如下所示:

1   21   \N
2   61   \N
2   62   1201231
50  11   54432

如何僅使用前兩列使用read.edgelist('data.txt', create_using=nx.Graph(), nodetype=int)

不使用nx.read_edgelist()而是默認構造函數的解決方案如下。

>>> with open("file.txt") as f:
...     g = nx.Graph([line.split()[:2] for line in f])
... 
>>> g.edges()
EdgeView([('1', '21'), ('2', '61'), ('2', '62'), ('50', '11')])

如果節點類型必須為整數,則可以在讀取文件時將其轉換為int

例如,

[tuple(map(int,line.split()[:2])) for line in f]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM