Python 尝试使用networkx读取图形时出现UnicodeEncodeError

Python 尝试使用networkx读取图形时出现UnicodeEncodeError,python,unicode,networkx,Python,Unicode,Networkx,我有一个小脚本,它使用TwitterSearch API从Twitter获取hashtag,并将它们用作networkx图形中的节点。TwitterSearch以unicode格式返回hashtags,使用write\u pajek函数保存图形时没有问题。相反,当我尝试使用read_pajek读取图形时,它会返回以下错误: Traceback (most recent call last): File "<stdin>", line 1, in <module>

我有一个小脚本,它使用TwitterSearch API从Twitter获取hashtag,并将它们用作networkx图形中的节点。TwitterSearch以unicode格式返回hashtags,使用
write\u 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)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第2行,只读
文件“C:\Python27\lib\site packages\networkx\utils\decorators.py”,第263行,在\u open\u文件中
结果=func(*新参数,**kwargs)
文件“C:\Python27\lib\site packages\networkx\readwrite\pajek.py”,第134行,在read\u pajek中
返回parse_pajek(行)
文件“C:\Python27\lib\site packages\networkx\readwrite\pajek.py”,第170行,parse_pajek
splitline=shlex.split(str(下一行)))
UnicodeEncodeError:“ascii”编解码器无法对位置4-5中的字符进行编码:序号不在范围内(128)

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

这看起来像是Python的shlex.split无法处理unicode的错误(或可能是功能)。我认为这可以很简单地解决。这可能会解决它。我已经安装了NetworkX 2.0,但我仍然得到相同的错误。对于包含carachter“é”的字符串节点,将引发此错误