使用Regex从JSON中删除字符串中的Unicode\uxxx

2024-10-02 20:40:04 发布

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

我有一个JSON文件,它存储文本数据stream_key.json

{"text":"RT @WBali: Ideas for easter? Digging in with Seminyak\u2019s best beachfront view? \nRSVP: b&f.wbali@whotels.com https:\/\/t.co\/fRoAanOkyC"}

我们可以看到json文件中的文本包含unicode\u2019,我想在python2.7中使用regex删除这段代码,这是我目前为止的代码(删除Unicode.py)公司名称:

^{pr2}$

我得到的结果是:

Traceback (most recent call last):
  File "eraseunicode.py", line 17, in <module>
    print(text)
  File "C:\Python27\lib\encodings\cp437.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2019' in position 53: character maps to <undefined>

由于我已经在打印之前使用函数删除\u2019,我不明白为什么它仍然是错误的。请帮忙。谢谢


Tags: 文件数据代码textinpy文本json
1条回答
网友
1楼 · 发布于 2024-10-02 20:40:04

当数据在文本文件中时,\u2019是一个字符串。但一旦加载到json中,它就变成了unicode,替换就不再起作用了。在

因此,您必须在加载到json之前应用regex,这样就可以工作了

tweet = json.loads(removeunicode(line))

当然,它处理整个原始生产线。您还可以通过检查如下字符代码从解码的text中删除非ascii字符(请注意,它不是严格等效的):

^{pr2}$

相关问题 更多 >