【问题标题】:TypeError while loading the pickle file using pickle.load() in python3:jupyter notebook在 python3:jupyter notebook 中使用 pickle.load() 加载 pickle 文件时出现 TypeError
【发布时间】:2020-10-15 01:07:08
【问题描述】:

在 python3:jupyter notebook 中使用 pickle.load() 加载 pickle 文件时出现类型错误

with open("/home/amit/Downloads/may2_18_company_data_with_cluster.pickle","r",encoding='utf8') as f:
    c = pickle.load(f) //this line shows an error

TypeError: 需要一个类似字节的对象,而不是 'str'

请帮我用 python3 在 jupyter notebook 上解决这个问题。

【问题讨论】:

  • 欢迎来到 Stack Overflow。请查看以下链接:stackoverflow.com/help/how-to-ask 这将增加问题得到回答的机会,并将帮助将来可能有类似问题的其他开发人员。
  • 它通过使用 pd.read_pickle(filename) 工作,但我想知道上述方法中的问题是什么以及这个错误究竟意味着什么。

标签: pickle


【解决方案1】:

这是因为pickle.load 需要一个二进制类型的文件作为参数,您需要在使用open 时指定这一点,方法是指定rb 读取二进制而不是读取为字符串的'r'。将代码更改为:

with open("/home/amit/Downloads/may2_18_company_data_with_cluster.pickle","rb",encoding='utf8') as f:
    c = pickle.load(f)

应该解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 2021-12-10
    • 2019-10-08
    • 2021-11-15
    相关资源
    最近更新 更多