Datenexport xlsx via Pandas

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
B00STER
User
Beiträge: 1
Registriert: Dienstag 14. Juli 2020, 14:18

Hallo Zusammen,

ich stehe vor folgender Problemstellung:


ich habe ein Programm, welches Werte berechnet.

Am Ende möchte ich die berechneten Werte in eine Exceldatei (xlsx) exportieren. Diese Datei soll erstellt werden, falls nicht vorhanden, ansonsten fortgeschrieben werden.

Die Exceldatei soll also automatisch erstellt werden, wenn das Programm zum ersten Mal durchläuft.
Wenn man es schließt und neu startet, soll die Datei mit der Tabelle ergänzt werden, nicht überschrieben.

Die Tabelle soll dann in etwa so aussehen:
Bei jedem durchlauf des Programmes, kommt eine "Anfragenzeile" dazu.

Anfragen Kriterium1 Kriterium2 Kriterium3 Kriterium4
Anfrage1 wert1 wert2 wert3 wert4
Anfrage2
Anfrage3
Anfrage4
Anfrage5
Anfrage6

Kann hier evtl. jemand weiterhelfen?

Grüße
Benutzeravatar
sparrow
User
Beiträge: 4506
Registriert: Freitag 17. April 2009, 10:28

Die Dokumentation hat direkt ein Beispiel für dein Problem.
tony_pythony
User
Beiträge: 14
Registriert: Sonntag 9. August 2020, 12:23

xls(x) schreiben ist auch mit pandas ein PITA. Leider.

Anderer Ansatz:

Ich weiss aus Erfahrung, dass Excel csv Dateien wie xls Dateien behandelt, nur ohne Meta-Informationen. Es ist halt eine Text-datei.

Aus deiner beschriebenen Anforderung, muss die Datei
1. erstellt werden,
2. aktualisiert werden

da stellt sich die Frage, wird die (neu) erstellte xls(x) Datei in Excel um Excel-spezifische Funktionen erweitert? Müssen diese erhalten bleiben bei aktualisieren der Datei bzw hinzufügen neuer Werte? -> pandas oder andere xls-writer:
- xlwings
- xlwt

Falls die Excel-spezifischen Funktionen irrelevant für deine Anforderung sind, wirds easy peasy:
- definiere (ziel)verzeichnis
- öffne datei mit python's open() im modus -a (append?)
- schreibe das was du möchtest getrennt mit kommas
- speichere die datei mit write()
- schliesse die datei

das sind pi*daumen 7-20 zeilen code, je nach Ausdrucksfähigkeit - wenn überhaupt.
Wenn du nicht unbedingt eine echte xls(x) benötigst, kannst diesen Ansatz mal durchchecken
Antworten