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

使用pd.read_pickle读取.xlsx文件报错,寻求解决方法

解决使用pd.read_pickle()读取.xlsx文件时的报错问题

嘿,这个问题我之前也踩过坑!你现在遇到的错误根源很简单——用错了文件读取方法。

为什么会报错?

pd.read_pickle()这个函数是专门用来读取pickle序列化格式的文件(通常后缀是.pkl,或者没有后缀的pickle文件),但你传入的路径是一个.xlsx格式的Excel表格。Python会尝试把Excel文件当成pickle数据去反序列化,这完全不匹配,所以才会抛出那个关于persistent_load function的错误。

快速解决办法

直接把读取方法换成pandas专门处理Excel文件的pd.read_excel()就行,修正后的代码如下:

import pandas as pd
import pickle
import numpy as np
import nltk
from nltk import word_tokenize
from nltk.corpus import stopwords
%matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [18.0, 8.0]
import re
import string

# 替换成read_excel读取Excel文件
leyes = pd.read_excel('C:\\Users\\diese\\OneDrive\\Documentos\\GitHub\\MCPP_diego_ramirez\\Proyectof\\leyes.xlsx')

额外提示

如果你的Excel文件里有多个工作表,还可以通过sheet_name参数指定要读取的表:

# 读取第一个工作表(索引从0开始)
leyes = pd.read_excel('你的文件路径', sheet_name=0)
# 或者直接指定工作表名称
leyes = pd.read_excel('你的文件路径', sheet_name='Sheet1')

要是你之前确实是把DataFrame保存成了pickle文件,但不小心把后缀改成了.xlsx,那记得把文件改回.pkl后缀,再用pd.read_pickle()读取就可以了。不过从你的代码场景来看,应该就是想直接读取Excel文件,用上面的方法就能解决问题啦。

内容的提问来源于stack exchange,提问作者Sebastián Ramírez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:52:50