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文件。

相关推荐
B站_计算机毕业设计之家16 分钟前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
渣渣苏24 分钟前
Langchain实战快速入门
人工智能·python·langchain
lili-felicity33 分钟前
CANN模型量化详解:从FP32到INT8的精度与性能平衡
人工智能·python
数据知道36 分钟前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同7651 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子1 小时前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
白日做梦Q1 小时前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
喵手1 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手1 小时前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集