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

相关推荐
qq_161111272 小时前
Jenkins+Python自动化测试持续集成详细教程
自动化测试·python·jenkins·教程·持续集成
爱吃苹果的梨叔5 小时前
训练集群网络中断怎么办?智算机房的 Console 串口排障方案
网络·python·智能路由器·php
李妍.8 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy8 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
2601_965958469 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
微小冷10 小时前
在不同空间中展示数据(欧式、球面、庞加莱圆盘)
python·双曲空间·微分几何·geomstats·庞加莱圆盘·球面
weixin_4316004410 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
讲温控就好了10 小时前
从医疗影像到能源存储——芯片冷却温控技术的跨行业赋能
人工智能·python·能源
DeepVisionary10 小时前
从 Qwen3.8-27B 把原生多模态、原生 FP8、桌面级 Agent 三件事一次集齐,看开源大模型的“工业化拐点“
python·自动化
固定资产管理系统软件11 小时前
商务局RFID固定资产管理系统的应用价值与落地要点解析
大数据·python