【问题标题】:Pandas Suppress Message on Opening HDF5 FilePandas 禁止打开 HDF5 文件的消息
【发布时间】:2017-05-31 05:06:46
【问题描述】:

当我使用 pandas 打开一些 HDF5 文件时,它会显示一条消息:

以只读模式打开/path/to/file/file_name.h5

如何隐藏此消息?请注意,我并不总是明白。当我尝试在下面制作一个测试示例时,我可以在没有任何消息的情况下阅读它:

pd.DataFrame({'a':[1,2,3]}).to_hdf('test.h5', 'key', mode='w')
_ = pd.read_hdf('test.h5')

我不知道文件的大小是否重要?我实际使用的那个比上面创建的测试文件大很多。

编辑: 我创建了一个大的测试文件,阅读时仍然没有收到消息:

# don't run this if you don't want a 1G dummy file
pd.DataFrame({ch: np.arange(10000000) for ch in 'abcdefghijklm'}).to_hdf('test.h5', 'k1')
_ = pd.read_hdf('test.h5', 'k1')

我自己没有创建给我消息的文件,所以我不确定在调用pandas.DataFrame.to_hdf() 时是否可以设置某些标志,这可能会导致在读取文件时始终出现此消息?

【问题讨论】:

  • 邮件由../pandas/io/pytables.py打印。似乎 pytables 已经提出了一个 IOError 并且 pandas 只是打印了这个消息。有人向 pandas (detail issue) 提出了问题。阻止它打印的唯一方法是在打开文件期间设置一个模式。否则你需要想办法阻止它输出消息到stdout
  • @SSC 如果您想添加它作为答案,我会继续接受它。传入mode='r' 对我的目的来说已经足够了。

标签: python pandas hdf5


【解决方案1】:

如果您有一个只读 HDF5 文件但未以读取模式打开它,则会显示此消息(作为警告,您将无法写入该文件,而您通常希望能够写入该文件)做)。

为避免出现此消息,请按以下方式打开文件:

pd.read_hdf('test.h5', mode='r')

【讨论】:

    猜你喜欢
    • 2011-10-19
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 2017-03-19
    • 2013-11-12
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多