使用networkx库提高python中graph()函数读取txt文件的效率

时间:2018-05-07 20:15:18

标签: python graph nodes networkx edges

我有一个包含150,000行的txt文件,每行包含一个数字标识符(即1,2,3 ......)

每一行与另一行有某种关系,这意味着该行的标识符在其他行中提及,或者提及其中的其他行。

例如

#1 - string #24 #11
#11 - string #24 #25
#245 - string #1 #11

因此,在这种情况下,第245行提到第1行和第11行,但第1行也提到第11行等。

我使用import networkx as nx和函数映射整个txt文件  G=nx.Graph(),以便稍后操纵不同节点和边缘之间的关系。

我试图理解如何提高效率,运行时间目前非常长(小时+),我试图了解这个函数是否是导致运行时间过长的原因:

 G=nx.Graph()
  for l in txt:
    res = re.findall("#\d{3,10}",l)
    if len(res) > 1:
      for num in res[1:]:
        G.add_edge(res[0],num)
  return G

有没有办法让它更有效率?

0 个答案:

没有答案