Вы можете использовать read_edgelist :
import networkx as nx
graph = nx.MultiGraph()
nx.read_edgelist('edges.dat', create_using=graph, nodetype=int, data=(('weight', float),))
for u, v, _ in graph.edges:
print(u, v, graph.get_edge_data(u, v))
выход
1 2 {0: {'weight': 0.5}}
1 3 {0: {'weight': 1.0}}
2 3 {0: {'weight': 0.4}, 1: {'weight': 0.3}}
2 3 {0: {'weight': 0.4}, 1: {'weight': 0.3}}
Обратите внимание, что это читает график из файла с именем 'edges.dat'
в указанном формате:
1 2 0.5
2 3 0.4
2 3 0.3
1 3 1.0
Функция создает график и для каждого помещает weight
в качестве атрибута в словарь словарей.