Ich habe eine Liste dataframe_chunk
, die Stücke von einem sehr großen Pandas Dataframe enthält.Ich möchte jeden einzelnen Brocken in einen anderen csv schreiben, und dies parallel zu tun. Ich sehe jedoch, dass die Dateien sequenziell geschrieben werden, und ich bin nicht sicher, warum dies der Fall ist. Hier ist der Code:concurrent.futures nicht parallelisieren schreiben
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())
Irgendwelche Hinweise?
yeah probierte das auch, dasselbe :( – elelias
Antwort aktualisiert - Ich hatte mehr Glück beim 'multiprocessing' direkt. – ErikR