簡體   English   中英

NetworkX在讀寫GML時出現label和id問題

[英]NetworkX problem with label and id when reading and writing GML

我有以下示例,我以編程方式創建一個圖形,將其寫入 GML 文件並再次將文件讀入圖形。

我希望能夠使用從文件加載的圖形來代替以編程方式創建的圖形:

import networkx as nx

g = nx.Graph()
g.add_edge(1,4)
nx.write_gml(g, "test.gml")
gg = nx.read_gml("test.gml", label="label")
print(gg.edges(data=True))

test.gml 的內容如下:

graph [
  node [
    id 0
    label "1"
  ]
  node [
    id 1
    label "4"
  ]
  edge [
    source 0
    target 1
  ]
]

python 代碼中的節點 1 和 4 現在由 ID 0 和 1 以及標簽“1”和“4”的兩個節點表示

讀取文件后,我現在必須訪問節點 4,如下所示:

gg['4']

代替

g[4]

對於原始圖。

我當然可以確保在查找節點之前將每個節點都轉換為字符串,但這對於大圖並不實用。

另一種方法是以編程方式創建(又一個)與g相同但使用 integer 鍵的圖,但這更加麻煩。

我應該怎么辦?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM