Seite 1 von 1

Schnelleres schreiben von xlsx-Dateien

Verfasst: Dienstag 10. August 2021, 13:33
von KrisCrow
Hallo miteinander,

nach diversen Auswertungen von csv-Eingaben schreibe ich diese Ergebnisse in eine xlsx-Datei:

Code: Alles auswählen

with pd.ExcelWriter(file_out) as writer:
    df1.to_excel(writer, sheet_name='A')
    df2.to_excel(writer, sheet_name='B')
    # mehr als 20 Blätter ... 
Dies Dauert aber lange (im Schnitt 10-20 min bei einer 500MB Datei).

Ist es möglich dies zu beschleunigen?
(CPU, RAM, SSD werden fast nicht ausgelastet)

Vielen Dank!

Re: Schnelleres schreiben von xlsx-Dateien

Verfasst: Dienstag 10. August 2021, 14:10
von einfachTobi
Spontan würde ich sagen nein. Du kannst schauen, ob eine der beiden Engines ‘openpyxl’ ooder ‘xlsxwriter’ schneller ist.
Eine 500 MB Excel-Datei klingt aber auch danach, dass die Mappe als Datenbank missbraucht wird. Vielleicht solltest du die Nutzung von Excel für diesen Anwendungsfall überdenken.

Re: Schnelleres schreiben von xlsx-Dateien

Verfasst: Dienstag 10. August 2021, 14:23
von KrisCrow
einfachTobi hat geschrieben: Dienstag 10. August 2021, 14:10Vielleicht solltest du die Nutzung von Excel für diesen Anwendungsfall überdenken.
Habe ich bzw. wir. Ist schon ein Fortschritt zu >2GB csv-Dateien.

Es wird eine Datei benötigt, die einfach teilbar (Cloud, USB-Stick, ftp, ...) ist, einfach von vielen verschiedenen Programmen einlesbar ist und auch einfach "von hand" lesbar oder bearbeiten bar ist und wo man einfach mittels Excel oder Python schnell was berechnen kann.
Das ist Forschung ... es muss nicht produktiv sein :geek: