Использование edgelist с 3 столбцами в txt.file - PullRequest
0 голосов
/ 27 ноября 2018

Я новичок в 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), используя только первые 2 столбца?

1 Ответ

0 голосов
/ 29 ноября 2018

Решение, которое не использует 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...