2013-09-29 4 views
1

pythonpytables과 함께 사용하여 h5 file을 읽습니다.pytables. f.get_node()를 사용하여 노드에 경고하는 경고

그래서 기본적으로 내가 뭐하는 거지 이것이다 :

f = t.open_file(file, mode='r') 
root = f.root 
obj = f.get_node(root, 'density_100m') 

문제는 get_node에 액세스 할 때 내가 경고를 얻고 있다는 것입니다 :

DataTypeWarning: Unsupported type for attribute 'DIMENSION_LIST' in node 'density_100m'. Offending HDF5 class: 

그것은 제대로 노드의 내부 매트릭스를 출력 , 그러나 경고는 아직도 거기에있다. enter image description here

문제는이 DIMENSION_LIST 함께하지만 난 어떻게 경고없이이 노드에 액세스하는 아무 생각이 : 여기

데이터가 hdfViewer처럼 보이는 방법이다.

답변

2

DIMENSION_LIST의 실제 데이터 유형을 모르면 필자는이 파일이 PyTables로 생성되지 않았으며 DIMENSION_LIST 속성이 PyTables가 알 수없는 데이터 유형 (float16 또는 이와 유사한 것)을 사용하고 있다고 생각합니다. 경고는 명시 적으로이 속성에 액세스 할 필요가없는 한 큰 문제가 아닙니다.

경고를 표시하지 않는 구체적인 문제에 따라 Python warning hooks 정상을 사용해야이 동작을 억제 할 수 있습니다. 위에 코드를 입력하면

import warnings 

f = t.open_file(file, mode='r') 
root = f.root 

with warnings.catch_warnings(): 
    warnings.simplefilter("ignore") 
    obj = f.get_node(root, 'density_100m') 

# do stuff with obj