これには非常に混乱しています。同じノートブック サーバーから 2 つのスクリプトを実行しています。同じフォルダーに HDFStore がありますが、一方のスクリプトでは空に見え、もう一方のスクリプトではそうではありません。両方のノートブックで実行される同じコードを次に示します。
import os
os.getcwd()
NB 1 を返します: 'E:\DoingDataScience\Identify\Scripts'
NB 2 を返す: 'E:\DoingDataScience\Identify\Scripts'
store = pd.HDFStore('data_test.h5')
store.items
NB 1 を返します。
<bound method HDFStore.items of <class 'pandas.io.pytables.HDFStore'>
File path: data_test.h5
/test_database frame (shape->[3,5])>
NB 2 を返します。
<bound method HDFStore.items of <class 'pandas.io.pytables.HDFStore'>
File path: data_test.h5
Empty>
すべての状況は同じに見えます。Pandas DF のソースを追跡しますか? NB 1がファイルを作成したため、NB 1によってすでにファイルが開かれている可能性があると思いました。ただし、NB 1 を強制終了して NB 2 を再起動しても、何も起こりませんでした。
編集: os.stats を追加:
NB 1 と NB 2 の両方:
nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0,
st_uid=0, st_gid=0, st_size=1311400L, st_atime=1465072325L,
st_mtime=1465149771L, st_ctime=1465072325L)
更新: 再起動すると、新しいエラーが発生します:
HDF5ExtError: HDF5 エラー バック トレース
ファイル「C:\aroot\work\hdf5-1.8.15-patch1\src\H5F.c」、行 604、H5Fopen でファイル「C:\aroot\work\hdf5-1.8.15-patch1\」を開けませんsrc\H5Fint.c」、1085 行目、H5F_open でスーパーブロック ファイルを読み込めません「C:\aroot\work\hdf5-1.8.15-patch1\src\H5AC.c」、1320 行目、H5AC_protect H5C_protect() が失敗しました。ファイル「C:\aroot\work\hdf5-1.8.15-patch1\src\H5C.c」、行 3574、H5C_protect はエントリ ファイル「C:\aroot\work\hdf5-1.8.15-patch1」を読み込めません\src\H5C.c", line 7954, in H5C_load_entry エントリー ファイル "C:\aroot\work\hdf5-1.8.15-patch1\src\H5Fsuper_cache.c", line 476, in H5F_sblock_load truncated file: eof = 800、sblock->base_addr = 0、
HDF5 エラー バック トレースの終了
ファイル「data_test.h5」を開く/作成できません