Я использую 64-битную версию Enthought Python для обработки данных в нескольких файлах HDF5. Я использую h5py версии 1.3.1 (HDF5 1.8.4) в 64-битной Windows.
У меня есть объект, который предоставляет удобный интерфейс для моей конкретной иерархии данных, но независимое тестирование h5py.File (fname, 'r') дает те же результаты. Я просматриваю длинный список (~ 100 файлов за раз) и пытаюсь извлечь из файлов определенные фрагменты информации. Проблема в том, что я получаю одну и ту же информацию из нескольких файлов! Мой цикл выглядит примерно так:
files = glob(r'path\*.h5')
out_csv = csv.writer(open('output_file.csv', 'rb'))
for filename in files:
handle = hdf5.File(filename, 'r')
data = extract_data_from_handle(handle)
for row in data:
out_csv.writerow((filename, ) +row)
Когда я проверяю файлы с помощью чего-то вроде hdfview, я знаю, что внутреннее устройство другое. Однако полученный мной csv, похоже, указывает на то, что все файлы содержат одни и те же данные. Кто-нибудь видел такое поведение раньше? Есть ли предложения, где я мог бы начать отладку этой проблемы?