Я читаю данные из файлов изображений и хочу добавить эти данные в один файл HDF. Вот мой код:
datafile = pd.HDFStore(os.path.join(path,'imageData.h5'))
for file in fileList:
data = {'X Position' : pd.Series(xpos, index=index1),
'Y Position' : pd.Series(ypos, index=index1),
'Major Axis Length' : pd.Series(major, index=index1),
'Minor Axis Length' : pd.Series(minor, index=index1),
'X Velocity' : pd.Series(xVelocity, index=index1),
'Y Velocity' : pd.Series(yVelocity, index=index1) }
df = pd.DataFrame(data)
datafile['df'] = df
datafile.close()
Очевидно, что это неверно, так как при каждом запуске цикла каждый набор данных перезаписывается новым.
Если вместо datafile['df'] = df
я использую
datafile.append('df',df)
OR
df.to_hdf(os.path.join(path,'imageData.h5'), 'df', append=True, format = 'table')
Я получаю сообщение об ошибке:
ValueError: Can only append to Tables
Я ссылался на документацию и другие SO вопросы, безрезультатно.
Итак, я надеюсь, что кто-то может объяснить, почему это не работает и как я могу успешно добавить все данные в один файл. Я готов использовать другой метод (возможно, pyTables), если это необходимо.
Любая помощь будет принята с благодарностью.
df.to_hdf(..., format="table", append=True)
) на самом деле правильный. Вы пробовали использовать это (без всегоHDFStore
) со свежим файлом? - person filmor   schedule 26.02.2014HDFStore
по умолчанию использовал форматfixed
, который не позволяет добавлять. Форматtable
используется PyTables. - person filmor   schedule 26.02.2014to_hdf
должна разрешать добавление? - person salamander   schedule 26.02.2014format="table"
to_hdf
, следует разрешить добавление с помощью PyTables внутри, нет необходимости делать это самостоятельно. Однако вы можете обновить pandas. Что значит и это сработало? Не могли бы вы обновить вопрос? - person filmor   schedule 26.02.2014to_hdf
теперь тоже работает. - person salamander   schedule 27.02.2014