【发布时间】:2018-07-27 15:08:19
【问题描述】:
我需要 Pandas 版本之间的兼容性,所以 pickle 还不够,我存储了一堆这样的数据帧:
import pandas as pd
hdf = pd.HDFStore('storage.h5')
hdf.put('mydata', df_mydata)
...然后像这样把它们带回来:
df_mydata = hdf.get('df_mydata')
问题是,在Python 中,您通常可以像这样以只读方式打开文件:
f = open('workfile', 'r')
我保存了数据框以供本地使用,因为它需要很长时间,并且会迫使服务器将它们从 SQL 中提取出来。如何打开这些.h5 文件以免意外更改它们?
【问题讨论】:
-
这可能听起来很讽刺,但我是真诚的。如果您不想更改文件,请不要编写可以更改的代码。或者您可以复制文件并打开副本?
-
我相信自己不会编写会改变它的代码吗?.. Linux 有读写执行权限,Python 有这种只读模式,但也许它们都是多余的特性,比如安全带..
-
docs中的mode='r' Ignored if path_or_buf is a pd.HDFStore是什么意思?
read_hdf是否总是引用 pd.HDFStore 对象? -
我不知道@Evan,但它确实违反了 KISS 原则,并且让你对
mode的论点缺乏信心。几周后我发现自己只需要再次阅读,只需输入mode='r'并希望它不会忽略它。
标签: python python-3.x pandas hdf5