Задача: читать больше, чем память csv-файлов, конвертировать в массивы и сохранять в hdf5.Один простой способ - использовать панды для чтения файлов кусками, но я хотел использовать dask, но пока безуспешно:
Последняя попытка:
fname='test.csv'
dset = dd.read_csv(fname, sep=',', skiprows=0, header=None)
dset.to_records().to_hdf5('/tmp/test.h5', '/x')
Как я мог это сделать?
На самом деле, у меня есть набор CSV-файлов, представляющих 2D-фрагменты 3D-массива, которые я хотел бы собрать и сохранить.Было бы приветствоваться также предложение о том, как сделать последнее.
Учитывая комментарии ниже, вот один из многих вариантов, которые я попробовал:
dset = dd.read_csv(fname, sep=',', skiprows=0, header=None, dtype='f8')
shape = (num_csv_records(fname), num_csv_cols(fname))
arr = da.Array( dset.dask, 'arr12345', (500*10, shape[1]), 'f8', shape)
da.to_hdf5('/tmp/test.h5', '/x', arr)
, что приводит к ошибке: KeyError: ('arr12345', 77, 0)