Python 如何处理csv读取操作中的异常字符

Python 如何处理csv读取操作中的异常字符,python,python-3.x,pandas,dataframe,csv,Python,Python 3.x,Pandas,Dataframe,Csv,我有一个非常大的Excel电子表格,其中的数据需要转换为列等,没有问题,除了它充满了一些非常奇怪的字符从法语,葡萄牙语。熊猫数据框解决了所有问题,直到我需要将数据输出为csv文件 dframe.to_csv(csvf, header=False) sourceFile = open(csvf, 'r') csvdata = sourceFile.read() with open('output.csv', 'a') as destFile: destFile.write(csvdata)

我有一个非常大的Excel电子表格,其中的数据需要转换为列等,没有问题,除了它充满了一些非常奇怪的字符从法语,葡萄牙语。熊猫数据框解决了所有问题,直到我需要将数据输出为csv文件

dframe.to_csv(csvf, header=False)
sourceFile = open(csvf, 'r')
csvdata = sourceFile.read()
with open('output.csv', 'a') as destFile:
    destFile.write(csvdata)
sourceFile.close()

这会在第3行产生错误:

File "C:\Program Files (x86)\python\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 3184: character maps to undefined
我跟踪到数据中的一个字段,其中包含
TTD ChÓteauneuf du Pape 75cl
”——具体来说,就是这个字符
”,根据Unicode标识符,“U+201D:右双引号{双逗号引号}”

我已尝试通过以下方式在数据框中删除此项:

df[self.data_columns[i]] = df[self.data_columns[i]].str.replace('”',' ')
但它似乎并没有做任何事情,类似的一行成功地去掉了不需要的逗号


有没有办法处理
read()
问题,使它可以处理任何字符?我发现奇怪的是,系统的其余部分(例如,将数据加载到数据帧中,操作数据)都很好

尝试将
encoding=“utf-8”
添加到
到_csv()
以及两个
open()
命令。如果您查看该文件,您需要使用一个能够处理utf-8编码的应用程序。是的,这很有效-非常感谢您将
encoding=“utf-8”
添加到
to_csv()
open()
两个命令。如果您查看该文件,您需要使用一个能够处理utf-8编码的应用程序。是的,非常感谢