У меня есть список dataframe_chunk
, который содержит фрагменты очень большого фрейма данных pandas. Я хотел бы записать каждый фрагмент в другой CSV и сделать это параллельно. Однако я вижу, что файлы записываются последовательно, и я не уверен, почему это так. Вот код:
import concurrent.futures as cfu
def write_chunk_to_file(chunk, fpath):
chunk.to_csv(fpath, sep=',', header=False, index=False)
pool = cfu.ThreadPoolExecutor(N_CORES)
futures = []
for i in range(N_CORES):
fpath = '/path_to_files_'+str(i)+'.csv'
futures.append(pool.submit( write_chunk_to_file(dataframe_chunk[i], fpath)))
for f in cfu.as_completed(futures):
print("finished at ",time.time())
Любые подсказки?