从边列表中读取无向图

时间:2018-11-18 20:25:50

标签: python-3.x graph graph-theory

我在从边列表中读取无向图时遇到问题。我在txt文件中有这样的边列表:

BND IEF 0.943176118
BND LQD 0.885572253
BND TIP 0.83072059
BND TLT 0.897231452
DBC USO 0.885015182

然后我的代码是:

G0 = nx.Graph()

G0 = nx.read_edgelist(place_holder + "edges_for_graph.txt", nodetype = str, data = (('weight', int),))

但是当我运行代码时,我遇到了这个问题:

TypeError: Failed to convert weight data 0.943176118 to type <class 'int'>.

我尝试更改txt文件(每个值之间只有一个空格),但是它不起作用,有人会因为值是int而知道如何解决它。

1 个答案:

答案 0 :(得分:0)

从数据片段来看,您的权重并非整数。您可以通过某种方式将它们转换为int或将它们存储为float(可能第二个是您想要做的,因为值似乎在0到1之间)。

对于第一种方法,您可以预处理文件以删除weigth或将其转换为值1。但是,为了正确读取它们,可以使用('weight', float)而不是('weight', int),如示例中所示here