下面的代码是我加载腌制文件的方式(注意:这些腌制文件制作正确,所以没有问题,除非也需要代码)。
import streamlit as st
import pandas as pd
import pickle
Pickle1 = open("../Backend/pickle1.pkl", 'rb')
Pickle2 = open("../Backend/pickle2.pkl", 'rb')
p1 = pickle.load(Pickle1)
p2 = pickle.load(Pickle2)
st.title('App')
我在 StackOverflow 中看到了另一个解决方案,但该解决方案指出 pandas.core.indexes.numeric 不包含在包中,但我的包含在包中(运行后 import pandas.core.indexes as i,我没有收到任何错误)。我也尝试升级pandas,但它是最新版本,我尝试询问chatGPT,但它给了我相同的解决方案:升级pandas。我在这里缺少什么?
我发现here提出了类似的问题,这可能会有所帮助。 如果 pickle 文件是使用
pandas<2
生成的,则使用 pandas>2
读取它可能会出现问题。或者,您可以使用 pandas.read_pickle
方法,如下所示:
import pandas as pd
from myclass import myClass
mc = pd.read_pickle("file_name.pkl")
dict(mc)
其中
myclass.py
是自定义Python文件,如下:
class MyClass:
def __init__(self, thing, df):
self.thing=thing
self.df=df
def __iter__(self):
yield "thing", self.thing
yield "df", self.df