我正在尝试修复python脚本,每当标题中带有连字符的标题显示为–€,错误为
KeyError: 'text here \xe2\x80\x93 text here'
脚本抓取与API进行了交互,并且已将连字符设置为保护区域的开头,因此该连字符实际上不是连字符,而是保护区域的开始,因此我将它们放在了代码中,但是在运行脚本时并不能完全识别它们。我已经在脚本顶部有了#--编码:utf-8--。
这当然不是完整的脚本,但这是我将“-”修改为进行此项工作所需的任何内容。
team_list = ["text here – text here",
"text here – text here"]
这是运行时产生的东西:
REQUEST @:text here – text here
STATUS: <Response [200]>>
Traceback (most recent call last):
File "filepath here", line 102, in <module>
request(url_list[i], team_list[i], team_data[i], team_count[i], team_name[i])
File "filepath here", line 66, in request
if rnamedata["data"][team]["incident"]["data"][0] == None:
KeyError: 'text here \xe2\x80\x93 text here'
我希望它返回带连字符的符号,而不是—或\ xe2 \ x80 \ x93
答案 0 :(得分:1)
字节序列b“ \ xe2 \ x80 \ x93”是Unicode短划线,U + 2013。字符为“ –”,看起来几乎与ascii连字号减号“-” U + 002D相同,但并非完全相同。破折号较宽。
您收到密钥错误,因为密钥中包含连字符,但您的数据没有。
放置-编码:UTF-8-位于程序顶部对程序读取数据的方式没有影响。这是向解释器指示您的源代码的编码。而且无论如何,UTF-8是默认设置。