You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为pandas的read_csv选择编码?读取xlsx报UnicodeDecodeError怎么办

问题根因与解决方法

你遇到的UnicodeDecodeError报错本质是调用了错误的文件读取方法,和编码设置无关:

  • xlsx是Excel专用的二进制压缩格式文件,本质是打包了XML配置和内容的ZIP压缩包,你贴出的原始内容开头的PK就是ZIP文件的标准头标识,这类文件不能用纯文本读取工具解析。
  • pd.read_csv()是专门用来读取纯文本格式的CSV(逗号分隔值)文件的接口,完全不支持读取xlsx格式文件,因此无论怎么调整编码参数都无法解决问题。

解决步骤

  1. 首先安装xlsx格式读取依赖:
pip install openpyxl
  1. 替换原有读取代码,使用pandas专门的Excel读取接口:
import pandas as pd
df = pd.read_excel(file, engine='openpyxl')

如果你的需求是提取xlsx内的原始文本而非结构化读取为表格,可直接通过openpyxl库操作工作表逐单元格读取内容,不要直接读取xlsx文件的二进制内容转码。


内容的提问来源于stack exchange,提问作者Francis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:48:01