parser_error UnicodeDecodeError: ‘utf-8‘ codec can‘t decode bytes

从报错信息来看,核心问题是使用pd.read_csv()读取Excel文件(.xlsx)导致的编码错误,具体原因和解决方法如下:

一、错误原因分析

  1. 文件格式与读取方法不匹配

    你的代码用 pd.read_csv() 读取了一个 .xlsx 格式的文件(国际股票价格指数日交易数据表.xlsx),但 read_csv() 是专门用于读取CSV格式 (文本文件)的函数,无法正确解析Excel的二进制格式(.xlsx),导致读取时出现编码混乱(UnicodeDecodeError)。

  2. 编码问题的本质

    即使忽略格式问题,Excel文件的二进制内容被当作文本文件(CSV)读取时,会触发编码解析错误(因为Excel不是纯UTF-8文本),这就是报错中"'utf-8' codec can't decode bytes"的原因。

二、解决方法

1. 使用正确的函数读取Excel文件

读取 .xlsx 格式文件需要用 pd.read_excel() 函数(而非 read_csv()),并确保安装了Excel解析依赖 openpyxl(针对.xlsx格式)。

修正代码

python 复制代码
import pandas as pd

# 读取Excel文件(.xlsx)需用read_excel,而非read_csv
data = pd.read_excel('data/国际股票价格指数日交易数据表.xlsx')
2. 安装必要的依赖库

如果运行时提示 ModuleNotFoundError: No module named 'openpyxl',需先安装解析Excel的库:

bash 复制代码
# 在终端或命令行中执行
pip install openpyxl

三、补充说明

  • pd.read_csv():仅用于读取 .csv 格式的文本文件。
  • pd.read_excel():用于读取 .xlsx.xls 格式的Excel文件,其中 .xlsx 需要 openpyxl 库,.xls 需要 xlrd 库(注意:xlrd 现在仅支持 .xls,不支持 .xlsx)。
  • 检查文件路径:确保 data/国际股票价格指数日交易数据表.xlsx 路径正确,文件确实存在于该位置(相对路径是相对于你的Python脚本所在目录)。

按以上方法修改后,即可正常读取Excel文件。

相关推荐
编程阿峰3 小时前
Python 环境配置(二)安装jupyter、matplotlib、numpy库
开发语言·python·jupyter·numpy·matplotlib
AC赳赳老秦3 小时前
CSDN 技术社区数据采集:OpenClaw 抓取公开技术热帖,生成领域技术热点周报
java·大数据·前端·数据库·python·php·openclaw
金銀銅鐵3 小时前
[Python] 一次打开多个常用的网址
python
明如正午4 小时前
【python】Python + OpenCV 实现视频关键帧提取与智能去重
python·opencv·音视频
aqi004 小时前
15天学会AI应用开发(十八)使用LangGraph实现精确记忆功能
人工智能·python·大模型·ai编程·ai应用
swany4 小时前
同步数据中,只需要几秒钟 & milvus向量数据库不可用 dify1.16.1 升级后踩坑记录
开发语言·python·numpy
Jay-r5 小时前
手势粒子特效系统 Gesture Particle FX(附源码下载)
python·ai·编程·pygame·百度云·手势控制
米码收割机5 小时前
【python】Flask 贵州省兴仁市藠头价格数据分析和可视化系统(源码+文档)【独一无二】
python·数据分析·flask