在 Pandas 中读取带有欧洲和拉丁美洲特殊字符的 CSV 文件

问题描述 投票:0回答:2

我有一个文件,其中包含我认为来自欧洲和拉丁美洲的特殊字符。 我做了 pd.read_csv("file.csv",encoding='iso8859') 它读取了一些特殊字符。但像“œs”这样的字符仍然是“s”,“Àrz”是“rz”。这样的字符有很多。 知道用什么来编码吗?我用的是iso8859、iso8859-1、iso8859-15。 Latin-1、UTF8、UTF16。

python pandas csv encoding
2个回答
1
投票

您可以在 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}')

0
投票

首先检查一下文件编码的一般背景会很有帮助; this 以及官方 Python docs 都是很棒的资源。首先,知道你的文件被编码为什么,而不是尝试以不同的方式读取它。

Pandas 在 docs 中也有关于

read_csv
的编码解释——值得注意的是默认值是
utf-8
。如果您已经用尽了这些,有时在使用标准编码(例如默认值)读取数据后,应用“修复程序”库(例如 this)中的函数会更简单。

© www.soinside.com 2019 - 2024. All rights reserved.