I am new at python and Spyder. I am trying to read from a text file with format into a graph using networkx:
FromNodeId ToNodeId Weight
0 1 0.15
0 2
You have comment first line with symbol #
(read_edgelist
by default skip lines start with #
):
#FromNodeId ToNodeId Weight
0 1 0.15
0 2 0.95
0 3 0.8
Then modify call of read_edgelist
to define type of weight column:
import networkx as nx
import matplotlib.pyplot as plt
g = nx.read_edgelist('./test.txt', nodetype=int,
data=(('weight',float),), create_using=nx.DiGraph())
print(g.edges(data=True))
nx.draw(g)
plt.show()
Output:
[(0, 1, {'weight': 0.15}), (0, 2, {'weight': 0.95}), (0, 3, {'weight':
0.8}), (0, 4, {'weight': 0.5}), (0, 5, {'weight': 0.45}), (0, 6, {'weight': 0.35}), (0, 7, {'weight': 0.4}), (0, 8, {'weight': 0.6}), (0, 9, {'weight': 0.45}), (0, 10, {'weight': 0.7}), (1, 2, {'weight':
0.45}), (1, 11, {'weight': 0.7}), (1, 12, {'weight': 0.6}), (1, 13, {'weight': 0.75}), (1, 14, {'weight': 0.55}), (1, 15, {'weight':
0.1})]