首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用协议2: Python3->2数据进行酸洗

使用协议2: Python3->2数据进行酸洗
EN

Stack Overflow用户
提问于 2012-02-26 05:13:02
回答 1查看 2.3K关注 0票数 6

我正在尝试对在Python3.2中创建的数据数组进行数据处理,对其进行pickle,然后在Python2.7中将其打开。然而,有一部分数据是Python2.7反对的,即使在一个数据样本上它做得很好,我想知道如何找出哪里出了问题。

所以在Python3.2中:

代码语言:javascript
复制
import pickle
with open('c:\\test.pickle', mode='wb') as f:
    pickle.dump(t_array, f, 2)

然后,在Python2.7中阅读时:

代码语言:javascript
复制
import pickle
f = open('c:\\test.pickle', mode='rb')
t_data = pickle.load(f)

错误是:

代码语言:javascript
复制
File "C:\Python27\lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
File "C:\Python27\lib\pickle.py", line 858, in load
    dispatch[key](self)
File "C:\Python27\lib\pickle.py", line 1217, in load_build
    setstate(state)
TypeError: must be char, not unicode

数据是一个字典数组,最多嵌套两层,例如:

代码语言:javascript
复制
{'key3': '3', 'key2': 1.1, 'key1': 1, 'dict': {'dkey2': 2, 'dkey1': 1}}

这里(可能)出了什么问题?有没有什么简单的方法可以查看原始(大型)数据集中是什么导致了问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-26 05:19:55

泡菜并不像它看起来那样好。安全漏洞和许多类似的问题。

一个更好的想法是创建您自己的保存格式,例如使用json。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9448127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档