我试图通过CSV提高NetworkX DiGraph人口的速度。现在我有一个直接的csv阅读器和图形添加情况:
G = DiGraph()
nodes = csv.DictReader(open(nodeFile, 'rU'), ['index', 'label', 'type'])
for row in nodes:
G.add_node(row['index'], {'index':row['index'], 'label':row['label'], 'type':row['type']})
edges = csv.DictReader(open(edgeFile, 'rU'), ['v1', 'v2', 'weight'])
for row in edges:
G.add_edge(row['v1'], row['v2'], row[weight'])
我处理的图表数据可能会变得非常大。像10,000,000个节点一样大。内存不是一个问题,但是像导入和导出这样的简单事情可能会花费更多的时间来更好地花在更重要的数据处理上。
有没有人有任何建议?我一直在寻找NetworkX的实用方法或技术,可以帮助解决这个问题。我甚至将我的导入CSV要求剥离到这3列并删除了所有值检查。
提前感谢您的任何想法。