pandas read_csv读取中文内容文件报错UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte
先用如下代码检查编码格式
import chardet
# 检测文件编码
with open("data.csv", "rb") as f:
result = chardet.detect(f.read())
print(result["encoding"]) # 打印检测到的编码
我检查后我的文件编码格式是ISO-8859-1,因此读取文件时设置
data = pd.read_csv('data.csv', encoding='ISO-8859-1')
虽然能读进数据,但读取后中文仍是乱码,使用如下代码进行更改
data.columns = [col.encode("ISO-8859-1").decode("gbk") for col in data.columns]
data = data.applymap(lambda x: x.encode("ISO-8859-1").decode("gbk") if isinstance(x, str) else x)