Python/Pandas HDF5 名称错误问题

Python/Pandas HDF5 NameError issue

我写了两个脚本。

第一个脚本仅设计为 运行 一次,并创建一个名为 df_empty 的大型空数据帧,并将其保存到 HDF5 中文件,storage.h5 在脚本中使用以下代码:

from pandas import HDFStore
hdf = HDFStore('storage.h5')
hdf.put('d1', df_empty, format='table', data_columns=True)

这非常有效。

我的下一个脚本设计为每 30 分钟 运行 并从每半小时生成的 CSV 文件中获取数据,并且:

  1. 将此数据放入一个新的数据框中df;

  2. storage.h5 导入数据帧为 df2;

  3. 使用index union命令将dfdf2合并为df3;

  4. 将新数据帧保存回storage.h5,有效地覆盖之前的文件。

相关部分代码如下:

from pandas import HDFStore
store = pd.HDFStore('storage.h5')
df2 = pd.DataFrame(store['d1'])
df3 = df.reindex(index = df2.index.union(df.index))
hdf.put('d1', df3, format='table', data_columns=True)

如果我在 Jupyter Notebook 中依次 运行 这两个脚本(我已经安装了最新版本的 Anaconda 并且 运行 在 Windows 7 机器上运行它,这会很好用) .

但是,当我从命令提示符 运行 时,我遇到了问题。第一个脚本 运行s 没有错误。然而,第二个脚本抛出以下错误:

回溯(最近调用最后): 文件 "myfile.py",第 64 行,位于 hdf.put('d1', df3, 格式='table', data_columns=True) NameError: 名称 'hdf' 未定义 关闭保持打开状态 files:storage.h5...donestorage.h5...done

有人对我可能做错的地方有什么建议吗?

我无法发表评论,因为我没有足够的声誉,

但是有没有可能是你打开了hd5 store然后赋给了变量

商店

当您尝试使用变量输入新数据时

HDF ?