나는 매우 혼란 스럽다. 나는 같은 노트북 서버에서 두 개의 스크립트를 실행하고있다. HDFStore가 같은 폴더에 있지만 한 스크립트의 경우 비어있는 것처럼 보이고 다른 스크립트는 그렇지 않습니다.팬더 HDFStore 이상한 행동
import os
os.getcwd()
돌아 NB 1 : 다음은 동일한 코드를 모두 노트북에서 실행되는 'E가 : \ DoingDataScience \ 확인 \ 스크립트'
돌아 NB 2 : 'E : \ DoingDataScience \ 확인 \ 스크립트'
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>
모든 상황이 동일하게 보입니다. 팬더 스 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 오류 , H5Fopen 라인 (604), 파일 파일을 열 수 없습니다 "C : \ A : 다시
파일"\ aroot \ 작업 \ hdf5-1.8.15-PATCH1 \ SRC \ H5F.c C "를 추적 루트 \ 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에서 수퍼 블록을로드 할 수 없습니다. H5AC_protectH5C_protect() 파일에서"C : \ aroot \ work \ hdf5-1.8.15-patch1 \ src \ H5AC.c "파일의 1320 줄에 실패했습니다. 파일 "C : \ aroot \ work \ hdf5-1.8.15-patch1 \ src \ H5C.c", 줄 3574, H5C_protect 파일 "C : \ aroot \ work \ hdf5-1.8을로드 할 수 없습니다. 15 패치 1 \ src \ H5C.c ", 줄 7954, H5C_load_entry에 파일"C : \ aroot \ work \ hdf5-1.8.15-patch1 \ src \ H5Fsuper_cache.c "파일 476 줄을로드 할 수 없습니다. H5F_sblock_load 잘린 파일 : EOF = 800, sblock-> base_addr에 = 0, stored_eoa = 1181448
HDF5 오류 종료 다시 파일을 만듭니다 'data_test.h5'
각각의 경우에 HDStore의 파일 위치를 인쇄 할 수 있습니까? 정말 같은 파일일까요? – BrenBarn
어떻게 얻을 수 있습니까? store.filename은 경로가 아닌 이름을 반환합니다. –
두 노트북 모두에서'os.stat ('data_test.h5')'의 출력을 게시 할 수 있습니까? 파일이 하나의 NB에서 열려있을 때 잠글 수 없습니다. – MaxU