2016-08-12 3 views
2

Я обрабатываю большое количество файлов в python и вам нужно написать вывод (один файл данных для каждого входного файла) в HDF5 напрямую. Мне интересно, как лучше всего записать pandas кадр данных из моего сценария в HDF5 прямо в быстрый путь? Я не уверен, что любой модуль python, такой как hdf5, hasoopy может это сделать. Любая помощь в этом отношении будет оценена.Напишите кадр данных pandas для HDF5

+0

http://matthewrocklin.com/блог/работа/2016/02/22/dask-distrib-part-2 –

+0

Никил предложил изменить для изменения HDFS в HDF5 (и затем ответил на основе этого), но и HDFS и HDF5 имеют смысл в контексте вашего вопроса ... что вы имели в виду? – Foon

ответ

1

Трудно дать вам хороший ответ на этот довольно общий вопрос.

Непонятно, как вы собираетесь использовать (читать) ваши файлы HDF5 - вы хотите выборочно выбирать данные (используя параметр where)?

пихта всего вам нужно открыть магазин объект:

store = pd.HDFStore('/path/to/filename.h5') 

теперь вы можете написать (или добавить) в магазин (я использую здесь blosc сжатия - это довольно быстро и эффективно), рядом что я буду использовать data_columns параметр, чтобы указать столбцы, которые должны быть проиндексированы (так что вы можете использовать эти столбцы в параметре where позже, когда вы будете читать файл hdf5):

for f in files: 
    #read or process each file in/into a separate `df` 
    store.append('df_identifier_AKA_key', df, data_columns=[list_of_indexed_cols], complevel=5, complib='blosc') 

store.close() 
Смежные вопросы