将csv中硬写的unicode更改为相应的ch

2024-04-29 08:33:10 发布

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

我有一个csv,其中一列有硬写的unicode字符:

["Investir dans un parc d'activit\u00e9s"]
["S\u00e9curiser, restaurer et g\u00e9rer 1 372 ha de milieux naturels impact\u00e9s par la construction de l'autoroute"]
["Am\u00e9liorer la consommation \u00e9nerg\u00e9tique de b\u00e2timents publics"]
["Favoriser la recherche, am\u00e9liorer la qualit\u00e9 des traitements et assurer un \u00e9gal acc\u00e8s des soins \u00e0 tous les patients de Franche-Comt\u00e9."]

我正在尝试用相应的字符来修复/替换它们,但是我似乎做不到,我用

df['Objectif(s)'] = df['Objectif(s)'].replace('\u00e9', 'é')

但这一栏不变 由于下面的代码正常工作,我试图在行上循环以修复它,但没有成功

s = "d'activit\u00e9s"
print(s)   # d'activités
print(s.replace('\u00e9', 'é' ))   # d'activités

for case in df['Objectif(s)']:
    s = str(case)
    df['Objectif(s)'][case] = s   # ["Investir dans un parc d'activit\u00e9s"]

Tags: dfde字符laetuncaseparc
2条回答

如果这个'\u00e9'实际上是作为\u00e9作为普通字符被数据源写入文件中,那么您需要进行字符串替换。你知道吗

这里的技巧是,您需要在replace函数的第一个参数中转义\字符

s.replace('\\u00e9', 'é' )

或者使用前缀为r的“原始字符串文字”

s.replace(r'\u00e9', 'é' )

尝试替换

df['Objectif(s)'] = df['Objectif(s)'].replace('\u00e9', 'é')

df['Objectif(s)'] = df['Objectif(s)'].str.replace('\u00e9', 'é')

相关问题 更多 >