При этом я хочу записать, из какого файла взят каждый набор строк.
Я хочу сделать все это менее чем с 10 ГБ оперативной памяти на Python.
Очевидно, что начать нужно с Dask.
Если я сделайте что-нибудь вроде:
Код: Выделить всё
for infile in file_list:
ddf = dd.read_csv(infile)
ddf = ddf.assign(filename=infile)
ddf.to_parquet("output_parquet_path",
append=True,
write_index=False,
write_metadata_file=True,
compute=True)
Если я попытаюсь полагаться на ленивый характер Dask и сделать :
Код: Выделить всё
frame_list = list()
for infile in file_list:
ddf = dd.read_csv(infile)
ddf = ddf.assign(filename=infile)
frame_list.append(ddf)
full_frame = ddf.concat(frame_list)
full_frame.to_parquet("output_parquet_path",
write_index=False,
write_metadata_file=True,
compute=True)
Подробнее здесь: https://stackoverflow.com/questions/787 ... r-file-nam