Python 在networkx中读取输入数据
我今天开始使用python包Python 在networkx中读取输入数据,python,file,io,networkx,Python,File,Io,Networkx,我今天开始使用python包'networkx',我很难理解如何从外部文件读取输入数据 文档中显示的示例涉及可直接从shell读取的小型网络 我有一个旧文件,它指定了一个具有以下格式的大型电网: 'from_node' 'to_node' 'edge_name' 'edge_capacity' 'flow_cost' 下一组卡片内容如下: 'node type' (source or sink), 'capacity', 'cost' 我想解决最大流量问题。如何读取这样的输入数据文件
'networkx'
,我很难理解如何从外部文件读取输入数据
文档中显示的示例涉及可直接从shell读取的小型网络
我有一个旧文件,它指定了一个具有以下格式的大型电网:
'from_node' 'to_node' 'edge_name' 'edge_capacity' 'flow_cost'
下一组卡片内容如下:
'node type' (source or sink), 'capacity', 'cost'
我想解决最大流量问题。如何读取这样的输入数据文件?您可以使用
parse\u edgelist
读取边缘:
In [1]: import networkx as nx
In [2]: lines = ["from to name capacity cost", "from1 to1 name1 capacity1 cost1"]
In [3]: G = nx.parse_edgelist(lines, data = (('name', str), ('capacity', str), ('cost', str)))
In [5]: G.edges(data=True)
Out[5]:
[('from1', 'to1', {'capacity': 'capacity1', 'cost': 'cost1', 'name': 'name1'}),
('to', 'from', {'capacity': 'capacity', 'cost': 'cost', 'name': 'name'})]
对于节点,您可能只需迭代文本文件并对图形进行注释。本文档提供了许多读取图形的方法:
谢谢你,Juniper。看起来这就是我开始使用“networkx”所需要的。