我无法正确读取带有熊猫重音字符的excel数据
data = pd.read_excel("C:/Users/XXX/Desktop/Help_me_plz.xlsx", encoding='utf-8')
这是我得到的:
ID Titre Entité
0 2020044459 SOAPPRO - Problème ouverture documents Root entity > Utilisateurs
1 2020048819 Probleme de conformité Smartphone KMSE Root entity > Utilisateurs
正如你们所看到的,重音并没有被正确解释,而且看起来像是奇怪的字符
我在互联网上搜索并尝试了几种方法:
将文件转换为csv格式
转换不同编码类型的文件
用记事本打开文件,但问题仍然存在
我甚至尝试使用以下返回错误输出的代码:
from unidecode import unidecode
print(unidecode('Entité'))
我期待Entité
,但它给了我以下输出:EntitA(c)
有没有一种方法可以正确解释重音或识别要使用的正确编码
无法
unidecode('Entité')
,因为它已被解码为'Entité'
您需要在源位置修复数据,它似乎是您的电子表格
看看Are XLSX files UTF-8 encoded by definition?
以及:https://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.io.parsers.read_csv.html
encoding='utf-8'
参数被传递给一个底层的pands.io.parsers.TextFileReader
对象,该对象盲目地接受您知道您的文件是在UTF-8
中编码的,而这里的情况似乎不是这样试试
utf-16
或latin-1
,看看结果是否改变。处理这个问题的方法是找出文件实际使用的编码方式XLSX格式是一个压缩的XML文档。将扩展名更改为zip,打开它并检查XML数据中的编码
您可以编写附带的代码,以便将来确定编码
嗯,您显示的是一个提示,表明您已正确处理Excel文件,但问题发生在显示时。长话短说,这是当您在拉丁1(或Windows cp1252)终端或编辑器中查看UTF-8编码文件时看到的
演示:
因此,您应该显示生成该显示的代码,问题就在那里
相关问题 更多 >
编程相关推荐