在Pandas中阅读带有欧洲和拉丁美洲特殊字符的CSV文件[重复]

tjjdgumg  于 2023-09-28  发布在  其他
关注(0)|答案(2)|浏览(91)

此问题已在此处有答案

Pandas.read_csv() with special characters (accents) in column names �(4个答案)
关闭27天前。
我有一个文件,里面有一些我认为来自欧洲和拉丁美洲的特殊人物。我做了pd.read_csv(“file.csv”,encoding ='iso 8859')它读取了一些特殊字符。但是像“Üs”这样的字符仍然是“ís”,“Ärz”是“írz”。有很多这样的字符。你知道用什么来编码吗?我用的是iso 8859,iso 8859 -1,iso 8859 -15。Latin-1、UTF8、UTF16。

6l7fqoea

6l7fqoea1#

您可以在Pandas中尝试不同的编码:

encodings_to_try = ['utf-8', 'latin1', 'iso-8859-1', 'iso-8859-15', 'cp1252']

for enc in encodings_to_try:
    try:
        df = pd.read_csv('file.csv', encoding=enc)
        print(f'Successfully read with encoding: {enc}')
        break
    except:
        print(f'Failed with encoding: {enc}')
rur96b6h

rur96b6h2#

首先,了解一下文件编码的一般背景知识会很有帮助; this是一个很好的资源,也是官方的Python文档。首先,准确地知道你的文件被编码为什么是有帮助的,而不是试图以不同的方式读取它。
Pandas在docs中也有对read_csv的编码解释--值得注意的是,默认值是utf-8。如果你已经用尽了这些方法,有时候在用标准编码(如默认值)阅读数据后,应用一个来自“fixer”库(如this)的函数会更简单。

相关问题