我知道这是一个非常常见的错误,但这是我在尝试写入文件时第一次遇到它。
我在用着networkx
使用图形进行网络分析,当我尝试写入任何格式时:
nx.write_gml(G, "Graph.gml")
nx.write_pajek(G, "Graph.net")
nx.write_gexf(G, "graph.gexf")
I get:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 2, in write_pajek
File "/Library/Python/2.7/site-packages/networkx/utils/decorators.py", line 263, in _open_file
result = func(*new_args, **kwargs)
File "/Library/Python/2.7/site-packages/networkx/readwrite/pajek.py", line 100, in write_pajek
path.write(line.encode(encoding))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19: ordinal not in range(128)
我还没有找到这方面的文档,所以很困惑。
想知道你是否可以利用codec模块来解决或不解决。只需创建一个文件对象codec在馈送到networkx之前如下所示。
ex,
import codecs
f = codecs.open("graph.gml", "w", "utf-8")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)