我正在使用熊猫处理csv文件,因此,我将其打开:
df = pd.read_csv(my_file, low_memory=False)
我正在应用一些清理功能,将一些字符串更改为数字,然后在要将数据帧保存到文件中时执行以下操作:
df.to_csv(output_file, index=False)
在某些情况下,这会引发UnicodeEncodeError
,所以我想知道如何避免这种情况。我知道encoding
和read_csv
方法中有一个to_csv
参数,但是每当我使用它时,它都会再次引发错误。
我需要构建足够强大的代码,以确保文件包含非ASCII字符时不会失败。我知道str.encode
方法中有一个参数,即ignore
,我想使用类似的参数,但是我不确定该怎么做。
编辑:
我知道我可以使用latin1
,iso-8859-1
或其他编码方式来使其正常工作,但是我希望输出文件以ascii
(最好)或utf-8
。
答案 0 :(得分:1)
我在打开俄语数据库时遇到了同样的问题。尝试使用encoding ='latin1',encoding ='iso-8859-1'或encoding ='cp1252'(这是Windows上的各种编码中的一些)来调用read_csv。
df= pd.read_csv('xxx.csv',encoding ='latin1')