python中的pd.read_csv()读取csv数据时,里面有中文,报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 29: invalid continuation byte。这个报错要怎么解决
当你使用 pd.read_csv()
函数从 Pandas 读取包含中文的 CSV 文件时遇到 UnicodeDecodeError
,这通常是因为文件的编码方式与 Pandas 默认使用的 UTF-8 编码不匹配所导致的。中文内容常见的编码有 GBK、GB2312 或 GB18030 等,尤其是在 Windows 系统中较为常见。
为了解决这个问题,你可以在调用 pd.read_csv()
时指定正确的编码方式。这里是一个基本的例子,展示如何指定编码为 GBK 来读取 CSV 文件:
import pandas as pd
# 假设你的CSV文件名为example.csv,并且编码为GBK
df = pd.read_csv('example.csv', encoding='gbk')
print(df)
如果你不确定文件的编码方式,可以尝试几种常见的中文编码,如 ‘gbk’, ‘gb2312’, ‘gb18030’, 或 ‘iso-8859-1’(尽管后者不常用于中文),看哪种能够成功读取文件而不引发错误。
此外,如果你正在使用的环境(如某些版本的 Jupyter Notebook 或 IDE)对编码有特别的处理,确保你的环境也支持或已设置为相应的编码。
如果上述方法仍然无法解决问题,你可以尝试使用文本编辑器(如 Notepad++ 或 Sublime Text)打开 CSV 文件,并查看或修改文件的编码设置,确保它与你在 Pandas 中指定的编码一致。
最后,如果文件是从网络或其他非标准来源获取的,可能还需要检查文件在传输或保存过程中是否可能发生了编码损坏。