无法转换边缘数据网络 X



我有这个小的gephiready.tsv文件,结构如下:

Source  Target     Type
1         2     Undirected
1         3     Undirected
1         4     Undirected
1         5     Undirected
1         6     Undirected

我想在python环境中通过NetworkX打开它,代码:

G = nx.read_edgelist("small-gephiready.tsv", nodetype=int)

但是,它返回错误"无法将边缘数据(['Type'](转换为字典"。我认为类型数据是字符串,所以我在nodetype=int之后添加了data=('Type',str),它返回str没有属性解码。

我是否写错了read_edge函数,或者我必须在文件中签入某些内容?谢谢你的帮助。

这是我的答案,显然如果你为文件提供标题,你需要一些参数来读取它们。但是,我需要熊猫read_csv函数并将其扔到network_x from_pandas_edgelist函数。

f = pd.read_csv("small-gephiready.tsv", sep='t')
G = nx.from_pandas_edgelist(f, source='FromNodeId', target='ToNodeId')

我不太确定它是如何工作的,但下面的代码似乎为我提供了预期的结果:

首先删除标头,然后使用以下代码

nx.read_edgelist("small-gephiready.tsv", nodetype=int, data=(("Type", str),))

它加载了节点和边缘,没有任何问题。

最新更新