如何删除字符串中的转义 '\' 以解码编码的字母?

问题描述

我正在使用来自 Board Game Geek 的数据集开展一个项目。

我遇到的问题与我正在研究的游戏名称有关。 我认为编码效果不好,所以我在收到的 csv 文件中编码了字母。 例如:Orl\u00e9ans 而不是 Orléans

当我在 Python 中导入 csv 时,它们仍然如此,我想更正这些字母。

我设法找到了正确的功能

>>> unicodedata.normalize("NFD",'Orl\u00e9ans')
'Orléans'

问题是我无法通过 for@H_502_18@ 循环运行此函数
确实,显示的字符串是 'Orl\u00e9ans' 但实际上它是 'Orl\\u00e9ans' 所以函数无法完成这项工作。

有什么办法可以纠正吗?我在数据集中有 20000 个条目,我无法一一更正它们。
谢谢

编辑在这文章中得到了答案:Process escape sequences in a string in Python

>>> myString = "spam\\neggs"
>>> decoded_string = bytes(myString,"utf-8").decode("unicode_escape") # python3 
>>> decoded_string = myString.decode('string_escape') # python2
>>> print(decoded_string)
spam
eggs

非常感谢

解决方法

我会尝试使用 latin1 编码如下:

导入编解码器 with codecs.open(r'$(path to your csv file)',encoding='latin1') as f: