Encoding “如何全面应用”;utf-8“;要在数据框中打开csv/txt文件?

Encoding “如何全面应用”;utf-8“;要在数据框中打开csv/txt文件?,encoding,text-files,python-3.5,Encoding,Text Files,Python 3.5,我试图从特定文件路径导入文本文件中的数据,但出现错误“utf-8”编解码器无法解码位置18中的字节0xa5:无效的开始字节 我的问题是,无论如何,我可以将“utf-8”编码应用于所有最终必须打开的文本文件(大约20个其他文件),以便防止上述错误 代码: import pandas as pd filelist = [r'D:/file1',r'D:/file2'] print (len((pd.concat([pd.read_csv(item, names=[item[:-4]]) for it

我试图从特定文件路径导入文本文件中的数据,但出现错误“utf-8”编解码器无法解码位置18中的字节0xa5:无效的开始字节

我的问题是,无论如何,我可以将“utf-8”编码应用于所有最终必须打开的文本文件(大约20个其他文件),以便防止上述错误

代码:

import pandas as pd
filelist = [r'D:/file1',r'D:/file2']
print (len((pd.concat([pd.read_csv(item, names=[item[:-4]]) for item in filelist],axis=1))))
如果我做错了什么,我也愿意接受任何建议


先谢谢你

不知道在python中自动将编码转换为utf-8的解决方案

或者,您可以找出编码是什么,并相应地阅读它。然后以utf-8格式写入文件

对我的文件(学分)很有效

别忘了
pip安装chardet


如果您现在使用
pd.to_csv()
来编写文件,那么默认情况下将使用utf-8编码这是否回答了您的问题@knanne是的,它有,以及下面选择的答案。非常感谢您联系并提供链接!
import chardet
import pandas as pd

with open('filename.csv', 'rb') as f:
    result = chardet.detect(f.read())  # or readline if the file is large

pd.read_csv('filename.csv', encoding=result['encoding'])