我在从边列表中读取无向图时遇到问题。我在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而知道如何解决它。
答案 0 :(得分:0)
从数据片段来看,您的权重并非整数。您可以通过某种方式将它们转换为int或将它们存储为float
(可能第二个是您想要做的,因为值似乎在0到1之间)。
对于第一种方法,您可以预处理文件以删除weigth或将其转换为值1。但是,为了正确读取它们,可以使用('weight', float)
而不是('weight', int)
,如示例中所示here。