Я очень смущен этим, у меня есть два сценария, запущенных с того же сервера Notebook. У меня есть HDFStore в той же папке, однако для одного скрипта он выглядит пустым, а для другого - нет. Вот тот же код может работать в обоих ноутбуках:Pandas HDFStore странное поведение
import os
os.getcwd()
Return NB 1: 'E: \ DoingDataScience \ Определить \ Scripts'
Return NB 2: 'E: \ DoingDataScience \ Определить \ Scripts'
store = pd.HDFStore('data_test.h5')
store.items
Return NB 1:
<bound method HDFStore.items of <class 'pandas.io.pytables.HDFStore'>
File path: data_test.h5
/test_database frame (shape->[3,5])>
Return 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 тоже ничего не сделали.
EDIT: Добавлена 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)
Update: Теперь после перезагрузки я получаю новую ошибку:
HDF5ExtError: ошибка HDF5 назад след
Файл "C: \ aroot \ работа \ hdf5-1.8.15-Patch1 \ SRC \ H5F.c", строка 604, в H5Fopen не удалось открыть файл файл «C: \ а root \ work \ hdf5-1.8.15-patch1 \ src \ H5Fint.c ", строка 1085, в H5F_open невозможно прочитать суперблок Файл" C: \ aroot \ work \ hdf5-1.8.15-patch1 \ src \ H5Fsuper .c ", строка 294, в H5F_super_read не удалось загрузить суперблок Файл" 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 ", строка 7954, в H5C_load_entry не удалось загрузить запись Файл" C: \ aroot \ work \ hdf5-1.8.15-patch1 \ src \ H5Fsuper_cache.c ", строка 476, в H5F_sblock_load усеченный файл: ВФ = 800, sblock-> base_addr = 0, stored_eoa = 1181448
Конец ошибки HDF5 обратной трассировки
Невозможно открыть/создать файл '' data_test.h5
Можете ли вы распечатать местоположение файла HDStore в каждом случае? Вы уверены, что это действительно тот же файл? – BrenBarn
Как я могу это получить? store.filename просто возвращает имя, а не путь –
вы можете опубликовать вывод 'os.stat ('data_test.h5')' из обеих ноутбуков? Файл не должен блокироваться, когда он открыт в одном NB – MaxU