熊猫to_csv处理UnicodeEncodeError的正确方法

时间:2018-10-24 12:29:59

标签: python python-2.7 pandas ascii

我正在使用熊猫处理csv文件,因此,我将其打开:

df = pd.read_csv(my_file, low_memory=False)

我正在应用一些清理功能,将一些字符串更改为数字,然后在要将数据帧保存到文件中时执行以下操作:

df.to_csv(output_file, index=False)

在某些情况下,这会引发UnicodeEncodeError,所以我想知道如何避免这种情况。我知道encodingread_csv方法中有一个to_csv参数,但是每当我使用它时,它都会再次引发错误。

我需要构建足够强大的代码,以确保文件包含非ASCII字符时不会失败。我知道str.encode方法中有一个参数,即ignore,我想使用类似的参数,但是我不确定该怎么做。

编辑:

我知道我可以使用latin1iso-8859-1或其他编码方式来使其正常工作,但是我希望输出文件以ascii(最好)或utf-8

1 个答案:

答案 0 :(得分:1)

我在打开俄语数据库时遇到了同样的问题。尝试使用encoding ='latin1',encoding ='iso-8859-1'或encoding ='cp1252'(这是Windows上的各种编码中的一些)来调用read_csv。

df= pd.read_csv('xxx.csv',encoding ='latin1')