【发布时间】:2016-12-20 00:08:21
【问题描述】:
我想将 pandas 表保存在一个文件中,以便稍后从该文件中读取它。我的要求:
文件格式应具有良好的可移植性(Windows/Linux 上的主要语言库支持良好)
我读取的DataFrame应该和我保存的完全一致
根据this post,如果我提供index_col=0 参数,read_csv 和to_csv 可能会起作用,但是数据类型会丢失(当然,自动类型推断并不能保证给我相同的类型@ 987654322@,更不用说我是否使用了像 lists 这样的 python 对象,这些对象永远不会被推断出来)。
是否有一些简单的解决方案可以确保工作,而不必担心许多边缘情况?
我能想到的唯一解决方案是使用to_csv / read_csv,但将类型信息保存在其他地方。不过,恐怕还有更多隐藏的问题(例如重复的列名等)。
【问题讨论】:
-
@tzaman 我想它是相关的,但是这个问题集中在速度上,而在我的情况下,顶级/接受的答案是完全不合适的,因为我正在寻找可移植性。 (pickle文件不能在python之外读取,不容易)。
-
同样的答案也提到了
hdf5。这不满足吗? -
@piRSquared 是的,刚刚检查过,它可以工作。 (除了不允许的同名列,但没关系。)我在文档中没有看到任何保证 HDF5 读/写是可逆的,但我想它恰好是..
-
我经常使用它。它非常快速且便携。唯一我无法验证的是来自其他语言的强大支持。但我确实在 wikipedia 上看到它得到了广泛的支持。
-
@piRSquared 是的,绝对完美的解决方案。
标签: python-3.x pandas dataframe