Я использую пакет python h5py для чтения файлов в формате HDF5. (например, somefile.h5)
Я хотел бы записать содержимое набора данных в текстовый файл.
Например, я хотел бы создать текстовый файл со следующим содержимым:
1,20,31,75,142,324,78,12,3,90,8,21,1
Я могу получить доступ к набору данных в python, используя этот код:
import h5py
f = h5py.File('/Users/Me/Desktop/thefile.h5', 'r')
group = f['/level1/level2/level3']
dset = group['dsetname']
Мой наивный подход слишком медленный, потому что в моем наборе данных более 20000 записей:
# write all values to file
for index in range(len(dset)):
# do not add comma after last value
if index == len(dset)-1: txtfile.write(repr(dset[index]))
else: txtfile.write(repr(dset[index])+',')
txtfile.close()
return None
Есть ли более быстрый способ записать это в файл? Возможно, я мог бы преобразовать набор данных в массив NumPy или даже список Python, а затем использовать какой-нибудь инструмент для записи файлов?
(я мог бы поэкспериментировать с объединением значений в большую строку перед записью в файл, но я надеюсь, что есть что-то более элегантное)