尝试使用networkx读取图形时发生UnicodeEncodeError

2024-06-28 19:26:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小脚本,它使用twittersearchapi从Twitter获取hashtags,并将它们作为networkx图形中的节点。TwitterSearch以unicode格式返回hashtags,使用write_pajek函数保存图形时没有问题。相反,当我试图用read_pajek读取图形时,它会返回以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 2, in read_pajek
  File "C:\Python27\lib\site-packages\networkx\utils\decorators.py", line 263, in _open_file
    result = func(*new_args, **kwargs)
  File "C:\Python27\lib\site-packages\networkx\readwrite\pajek.py", line 134, in read_pajek
    return parse_pajek(lines)
  File "C:\Python27\lib\site-packages\networkx\readwrite\pajek.py", line 170, in parse_pajek
    splitline=shlex.split(str(next(lines)))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 4-5: ordinal not in range(128)

我认为这个问题是因为它试图用ascii编解码器解码一些中/日字符,但我不知道如何解决它。在函数的第二个参数中,可以声明文件的编码,默认情况下是“UTF-8”,所以理论上我在读取它时不会有任何问题。在


Tags: 函数inpynetworkx图形readlibpackages