如何从 txt 文件中读取节点和边? (或 .edges 和 .nodes 文件)NetworkX
How to read nodes and edges from txt files ? (or .edges and .nodes files) NetworkX
我正在努力制作 NetworkX 图表。我有两个 txt 文件(从 .edges 和 .nodes 文件转换而来),如下所示:
nodes.txt:
id,name,new_id
402449106435352,Josh Marks,386
368969274888,Blue Ribbon Restaurants,473
765596333518863,Pat Neely,1
136870209668885,La Griglia,542
840078802741859,Jose Garces,189
1189829367698904,Zac Kara,454
edges.txt:
0,276
0,58
0,132
0,603
0,398
0,555
1,265
我找不到将这些文件中的边和节点添加到 networkx 图中的方法。我要么只能添加边,要么只能添加节点,而且我很确定我做错了什么。我是新手,对它知之甚少,所以我很感激我得到的所有帮助。
这是我目前所掌握的。
df_edges = pd.read_csv('food_edges.txt', sep = ',', header = None)
df_nodes = pd.read_csv('food_nodes.txt', sep = ',', header = None, names = ['id', 'name', 'new_id'])
# Try 1:
G = nx.Graph()
G.add_nodes_from(df_nodes)
G.add_edges_from(df_edges)
'''
Error :
Traceback (most recent call last):
File "food_net.py", line 22, in <module>
G.add_edges_from(df_edges)
File "C:\Python38\lib\site-packages\networkx\classes\graph.py", line 923, in add_edges_from
ne = len(e)
TypeError: object of type 'int' has no len()
'''
# Try 2: adding edges , but don't know how to add nodes then
g = nx.read_weighted_edgelist('fb-pages-food/fb-pages-food.edges', delimiter = ',')
Soo 我发现 .edges 实际上是我的图表唯一需要的文件,而 .nodes 文件(第二个文件)只是用作 'codebook',所以我可以看到哪些食物,或将 ID 更改为食物名称。
我正在努力制作 NetworkX 图表。我有两个 txt 文件(从 .edges 和 .nodes 文件转换而来),如下所示:
nodes.txt:
id,name,new_id
402449106435352,Josh Marks,386
368969274888,Blue Ribbon Restaurants,473
765596333518863,Pat Neely,1
136870209668885,La Griglia,542
840078802741859,Jose Garces,189
1189829367698904,Zac Kara,454
edges.txt:
0,276
0,58
0,132
0,603
0,398
0,555
1,265
我找不到将这些文件中的边和节点添加到 networkx 图中的方法。我要么只能添加边,要么只能添加节点,而且我很确定我做错了什么。我是新手,对它知之甚少,所以我很感激我得到的所有帮助。
这是我目前所掌握的。
df_edges = pd.read_csv('food_edges.txt', sep = ',', header = None)
df_nodes = pd.read_csv('food_nodes.txt', sep = ',', header = None, names = ['id', 'name', 'new_id'])
# Try 1:
G = nx.Graph()
G.add_nodes_from(df_nodes)
G.add_edges_from(df_edges)
'''
Error :
Traceback (most recent call last):
File "food_net.py", line 22, in <module>
G.add_edges_from(df_edges)
File "C:\Python38\lib\site-packages\networkx\classes\graph.py", line 923, in add_edges_from
ne = len(e)
TypeError: object of type 'int' has no len()
'''
# Try 2: adding edges , but don't know how to add nodes then
g = nx.read_weighted_edgelist('fb-pages-food/fb-pages-food.edges', delimiter = ',')
Soo 我发现 .edges 实际上是我的图表唯一需要的文件,而 .nodes 文件(第二个文件)只是用作 'codebook',所以我可以看到哪些食物,或将 ID 更改为食物名称。