В настоящий момент я использую h5py для генерации наборов данных hdf5. У меня есть что-то вроде этого
import h5py
import numpy as np
my_data=np.genfromtxt("/tmp/data.csv",delimiter=",",dtype=None,names=True)
myFile="/tmp/f.hdf"
with h5py.File(myFile,"a") as f:
dset = f.create_dataset('%s/%s'%(vendor,dataSet),data=my_data,compression="gzip",compression_opts=9)
Это хорошо работает для относительно большого файла ASCII (400 МБ). Я хотел бы сделать то же самое для еще большего набора данных (40 ГБ). Есть ли лучший или более эффективный способ сделать это с помощью h5py? Я хочу избежать загрузки всего набора данных в память.
Некоторая информация о данных:
- Я не буду знать тип данных. В идеале я хотел бы использовать
dtype=None
изnp.loadtxt()
- Я не буду знать размер (размеры) файла. Они меняются.