在read_csv函数调用之后,QUÉBEC中的拉丁字符É显示为QUÃBEC

时间:2019-09-05 19:33:04

标签: python pandas

我需要将psv文件读取到数据帧。当我在notepad ++中打开psv文件时,看到的值为QUÉBEC。但是,当我在excel中使用|作为分隔符打开时,该值显示为QU├ëBEC。在使用read_csv函数后的数据帧中,当尝试使用编码= cp1252,编码= latin_1,iso8859-1,iso8859_15时,该值显示为QUÃBEC。最终,我希望数据框具有QUÉBEC值。

我尝试使用指定的编码标准,但是似乎没有任何效果。 https://docs.python.org/3/library/codecs.html#standard-encodings

具体地说,尝试了所有与西欧和拉丁有关的内容。

def load_psv_into_df(psv_filename):
    #   This function loads the PSV into the data frame.
    #   Input: PSV File Name
    #   Output: Data frame
    result_df = pd.read_csv (psv_filename, sep='|', encoding='cp1252', 
                   dtype=str, low_memory=False, keep_default_na=False)
    return result_df

使用UTF-8标准时,出现以下错误消息。对于以utf开头的任何编码标准都相同。请提出建议。 UnicodeDecodeError:'utf-8'编解码器无法解码位置12处的字节0x:无效的连续字节

1 个答案:

答案 0 :(得分:0)

两个最可能的编码选项是utf-8utf-16le。但是,就像Igaud所说的那样,notepad ++可以肯定地告诉您编码。