Hallo alle zusammen,
ich bin relativ neu in der Python Welt und hab da ein Frage zu Excel Tabellen mit Python.
Problemstellung:
Ich hab eine Excel Datei mit mehreren Tabellen, in der ersten Tabelle trage ich Zahlen ein, die Zahlen werden mit der zweiten Tabelle berechnet und das Ergebnis wird in der dritten Tabelle angezeigt.
Ich hab mir zwar die Lib Pandas angeschaut und damit schon Excel Dateien eingelesen, aber das ist nicht das was ich möchte.
Frage:
Kann ich mit irgendeiner Python Lib eine Excel Datei aufmachen, Zahlen rein schreiben und das Ergebnis wieder auslesen. Ist das möglich?
Excel öffnen und manipulieren mit Python?!
@optimum: Wenn man den Zelleninhalt neu berechnen will, müßte man die hinterlegten Formeln parsen und alle Excel-Formeln mit all ihren Eigenheiten nachprogrammieren. Soweit ich weiß, hat das noch niemand gemacht. Es gibt also zwei Möglichkeiten: in Python eine Excel-Tabelle schreiben und Excel die Werte berechnen lassen, oder die Formeln selbst in Python schreiben und nicht mit Excel-Formeln rechnen.
Danke für die schnelle Antwort!Sirius3 hat geschrieben:@optimum: Wenn man den Zelleninhalt neu berechnen will, müßte man die hinterlegten Formeln parsen und alle Excel-Formeln mit all ihren Eigenheiten nachprogrammieren. Soweit ich weiß, hat das noch niemand gemacht. Es gibt also zwei Möglichkeiten: in Python eine Excel-Tabelle schreiben und Excel die Werte berechnen lassen, oder die Formeln selbst in Python schreiben und nicht mit Excel-Formeln rechnen.
"Python eine Excel-Tabelle schreiben und Excel die Werte berechnen lassen"
Also die gewünschten Werte in eine Excel Tabelle schreiben und dann Excel anstoßen das die Berechnung stadt finden soll?! Das geht?
Ach so meinst du das! Einfach die Werte in die Excel Tabelle schreiben und beim öffnen der Tabelle werden die Werte berechnet und angezeigt?Sirius3 hat geschrieben:@optimum: Excel rechnet normalerweise automatisch (es sei denn, man schaltet das explizit ab) beim Öffnen einer Datei alle Zellen neu.
Wie kann ich den mit Python die Tabelle öffnen!?
Die Excel Tabelle soll auf den Server liegen. Die neuen Werte werden via Smartphone gesendet, das Ergebnis soll zurück gesendet werden.
Ich möchte am Smartphone Werte eingeben, die Werte werden in einer json Datei gepackt und an einen Server geschickt, dann soll ein Script die werde in die Excel Datei packen. Und das Ergebnis soll zurück an das Smartphone gesendet werden.
Smartphone: Android
Server: Ubuntu mit Apache2
Ja das ist halt blöd das die ganze Berechnung und die Daten in einer Excel sind.
Smartphone: Android
Server: Ubuntu mit Apache2
Ja das ist halt blöd das die ganze Berechnung und die Daten in einer Excel sind.

- noisefloor
- User
- Beiträge: 4181
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
wie Sirius3 schon sagt: der Ansatz ist zum scheitern verurteilt.
Schon alleine, auf einem Linux-Server zum Speichern der Daten ein (Windows-) Datenformat zu verwenden, was keine Anwendung außer Excel unter Windows sicher und fehlerfrei öffnen kann, ist grundlegend falsch.
Außerdem macht es hier sehr viel Sinn, Datenspeicherung und Ergebnisdarstellung zu trennen. Zur Datenspeicherung bietet sich hier z.B. eine Datenbank an.
Und wenn du nicht einen sehr guten Grund hast, dass du zwingend auf deinem Android Smartphone eine Excel-Datei brauchst (der Grund würde mich dann mal interessieren
), dann würde ich das Ergebnis eher als z.B. PDF senden.
BTW: wie willst du die Datei eigentlich ans Smartphone senden? Wie generierst und schickst du die JSON-Daten auf dem Smartphone?
Gruß, noisefloor
wie Sirius3 schon sagt: der Ansatz ist zum scheitern verurteilt.
Schon alleine, auf einem Linux-Server zum Speichern der Daten ein (Windows-) Datenformat zu verwenden, was keine Anwendung außer Excel unter Windows sicher und fehlerfrei öffnen kann, ist grundlegend falsch.
Außerdem macht es hier sehr viel Sinn, Datenspeicherung und Ergebnisdarstellung zu trennen. Zur Datenspeicherung bietet sich hier z.B. eine Datenbank an.
Und wenn du nicht einen sehr guten Grund hast, dass du zwingend auf deinem Android Smartphone eine Excel-Datei brauchst (der Grund würde mich dann mal interessieren

BTW: wie willst du die Datei eigentlich ans Smartphone senden? Wie generierst und schickst du die JSON-Daten auf dem Smartphone?
Gruß, noisefloor
Hallo noisefloor, erstmal danke für deinen Beitrag


Naja ich hab mir geholft das ich mir damit viel arbeit sparen kann. Dann muss ich das ganze wohl selbst machenwie Sirius3 schon sagt: der Ansatz ist zum scheitern verurteilt.

Ich würde auch ein DB bevorzugen allein schon wegen der Handhabung und der Performenz. Aber die Messdaten werden in eine Excel Tabelle geschrieben, warum man das macht kann ich auch nicht verstehen. Dann hat sich ein Stunden hingesetzt und das ganz auch in Excel berechnen lassen.Außerdem macht es hier sehr viel Sinn, Datenspeicherung und Ergebnisdarstellung zu trennen. Zur Datenspeicherung bietet sich hier z.B. eine Datenbank an.
Ich Brauche keine Excel Datei auf dem Smartphone, da brauche ich nur die das Ergenis der Berechnung, das ganze wird dann Visualiesiert.Und wenn du nicht einen sehr guten Grund hast, dass du zwingend auf deinem Android Smartphone eine Excel-Datei brauchst (der Grund würde mich dann mal interessieren), dann würde ich das Ergebnis eher als z.B. PDF senden.
Da möchte ich keine Datei ans Smartphone sende, sondern eine JSON Datei mit den Ergbnissen(Werten: float zahlen).wie willst du die Datei eigentlich ans Smartphone senden?
Naja auf den Smartphone erstelle ich ein Json Obejkt und mit put kann ich dann die eingebenen Werte hinzufügen, das ganze werschicken ich dann als eine GET/POST anfragen an den Webserver der dann das ganze auspackt und die Berechnung anstoßen soll.Wie generierst und schickst du die JSON-Daten auf dem Smartphone?
@optimum: es kommt halt drauf an, was da wirklich berechnet wird. Normalerweise sollte das sehr einfach sein, in Python nachzuprogrammieren. Gegen das Einlesen von Messdaten aus Excel spricht ja erstmal nichts, das hast Du ja anscheinend per Panda schon gemacht.