Networkx 无法读取我的 gml 文件:输入不是 ASCII 编码的



我想用networkx读取我的gml文件。

import networkx as nx
G = nx.read_gml('test.gml')

但我总是有同样的错误:

networkx.exception.NetworkXError: input is not ASCII-encoded

我已经尝试将 networkx 降级到 1.9.1 版,但仍然不起作用......

这是我的gml文件的开头:

<?xml version="1.0" encoding="UTF-8"?>
<PlanCorpsRueSimplifie xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://cnig.gouv.fr/pcrs" gml:id="PlanCorpsRueSimplifie.1" version="2.0" xsi:schemaLocation="http://cnig.gouv.fr/pcrs CNIG_PCRS_v2.0.xsd">
<gml:boundedBy>
<gml:Envelope srsName="EPSG:3944">
<gml:lowerCorner>1784316.1423000023 3210973.5976999998</gml:lowerCorner>
<gml:upperCorner>1790225.4457999989 3217946.2347000018</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
<featureMember>

通过阅读文档 networkx.read_gml((

GML规范规定文件应采用ASCII编码,并带有 任何显示为 HTML 字符的扩展 ASCII 字符 (ISO8859-1( 实体。

尝试使用以下代码重新制作图表,但使用您的数据

g = nx.DiGraph()
g.add_nodes_from([1, 2, 3, 4, 5, 6, 7, 8, 9])
g.add_edges_from([(1,2), (2, 1),
(1, 3),(3, 1),
(3, 4), (4, 3),
(4, 5), (5, 4),
(4, 6), (6, 4),
(6, 7), (7, 6),
(7, 8), (8, 7),
(1, 9), (2, 9),(3, 9), (4, 9),(5, 9), (6, 9),
(7, 9), (8, 9),
])
nx.write_gml(, 'test.gml')

最新更新