Seite 2 von 3
Re: asc File Zeilen Suchen und entfernen
Verfasst: Montag 5. August 2019, 12:53
von JohannX
Sirius3 hat geschrieben: Montag 5. August 2019, 12:40
Nein, Du hast ja irgendwoher dieses XML. Und darin ist sind Formeln, und diese müssen ja irgendeiner Syntax folgen. Hast Du eine Beschreibung des XML-Formats?
Und nein, Du mußt nicht die '' wegbekommen, sondern den String parsen, das heißt, in eine Form bringen, mit der Du rechnen kannst. Dazu müßte man aber wissen, nach welcher Syntax diese Formeln beschrieben sind.
Nach welcher Syntax die folgen kann ich dir leider nicht sagen, dies weiß ich selbst nicht mal. Es ist ein Gerät welche die Steuergeräte erprobt samt einer Lastbox usw.... und die Parameter werden als xml gespeichert und die Ergebnisse als asc File
Re: asc File Zeilen Suchen und entfernen
Verfasst: Montag 5. August 2019, 13:02
von __deets__
Na das muss ja schon irgendwo dokumentiert sein, der Hersteller des Geraetes zB wird schon wissen, was da reingeschrieben wird.
Re: asc File Zeilen Suchen und entfernen
Verfasst: Montag 5. August 2019, 13:04
von Sirius3
Was soll der Name `liste_in_welcher_die_xml_File_ausgelesen_und_die_notwendigen_Daten_gespeichert_werden` über den Inhalt, welcher in dieser Variable gespeichert ist, aussagen? Woher der Inhalt kommt ist eigentlich egal, und dass es sich um notwendige Daten handelt, ergibt sich wohl von selbst, weil sonst würdest Du sie nicht speichern.
Wenn Du Probleme hast, einen sinnvollen Namen zu finden, dann hast Du wahrscheinlich noch nicht ganz verstanden, was Du machen willst.
Re: asc File Zeilen Suchen und entfernen
Verfasst: Montag 5. August 2019, 13:27
von JohannX
__deets__ hat geschrieben: Montag 5. August 2019, 13:02
Na das muss ja schon irgendwo dokumentiert sein, der Hersteller des Geraetes zB wird schon wissen, was da reingeschrieben wird.
Ich bin hier nur ein Praktikant, mehr weiß ich nun mal nicht

Re: asc File Zeilen Suchen und entfernen
Verfasst: Montag 5. August 2019, 14:17
von JohannX
Es gibt noch weitere Formeln z.B.:
Re: asc File Zeilen Suchen und entfernen
Verfasst: Montag 5. August 2019, 14:25
von __deets__
Aber wir sollen das wissen? Woher denn bitte? Und auch wenn du Praktikant bist, kannst du doch jemanden fragen. Tust du hier ja auch
Den Formeln so wie sie da sind kannst du nur auf zwei Arten beikommen: entweder sind das beliebige viele, dann musst du in das verstehen und parsen der Formeln investieren. Ohne Dokumentation und Hilfe des Herstellers geht’s nicht.
Oder es sind beschränkt viele. Dann kannst du ein Wörterbuch mit den entsprechenden lambdas anlegen, das eine Formel in Textform auf den Ausdruck in Python abbildet.
Also so etwas:
Re: asc File Zeilen Suchen und entfernen
Verfasst: Montag 5. August 2019, 14:56
von JohannX
__deets__ hat geschrieben: Montag 5. August 2019, 14:25
Aber wir sollen das wissen? Woher denn bitte? Und auch wenn du Praktikant bist, kannst du doch jemanden fragen. Tust du hier ja auch
Den Formeln so wie sie da sind kannst du nur auf zwei Arten beikommen: entweder sind das beliebige viele, dann musst du in das verstehen und parsen der Formeln investieren. Ohne Dokumentation und Hilfe des Herstellers geht’s nicht.
Oder es sind beschränkt viele. Dann kannst du ein Wörterbuch mit den entsprechenden lambdas anlegen, das eine Formel in Textform auf den Ausdruck in Python abbildet.
Also so etwas:
Das mit dem Wörterbuch klingt ganz vernünftig, denke jetzt nicht, dass es so viele unterschiedliche Formeln gibt.
Das waren zumindest die Formen aus den letzten Projekt nur das hier x statt v war....
Code: Alles auswählen
x*(5/4095)*8.655106
(x -2)*0.00257038-0.5
(x -1)*0.125-73.025
Da es aber eine GUI hat könnte ich doch ein Eingabefeld implementieren, das könnte doch die Lösung sein oder? Jetzt wird die Formel in einem QLineEdit angezeigt um die Formel zu kontrollieren ob diese auch wirklich Stimmt... könnte man hier statt einem QLineEdit jetzt ein input Feld platzieren, aber es trotzdem anzeigt was in dem xml File drinnen steht?
Re: asc File Zeilen Suchen und entfernen
Verfasst: Montag 5. August 2019, 16:06
von __deets__
Was hilft denn ein Eingabefeld? Was da rauskommt ist immer noch ein String - was ist denn da gewonnen? Die Nutzung als Formel wird doch nicht magisch möglich nur weil man ein QTextEdit oder so eingestreut hat.
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 08:35
von JohannX
Gut, dann wird es ein Bibliothek werden, am besten mit einem externen File. Muss es zwangsläufig eine Python File sein?
Das mit dem parsen könnte schwer werden, konnte heute noch weitere Formeln auftreiben
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 08:54
von __deets__
Der Vorschlag zu parsen ist dir zu schwer. Den Vorschlag, Formeln auf Python Code abzubilden willst du OHNE Python Code lösen? Wie stellst du dir das vor?
Ansonsten sind all die Formeln die du gezeigt hast nicht schwer zu parsen. Ob das also der vielversprechendere Ansatz ist, hängt davon ab, was der, der die Formeln schreibt, sagt. Was hat er gesagt?
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 09:48
von JohannX
Dann werde ich es mit parsen versuchen, es sind ja nur - + () * und / dabei.
Sollte dann nicht so schwer werden mit eurer Unterstützung?
Hätte dieses gefunden
https://stackoverflow.com/questions/237 ... n-a-string
Sieht aber nach mächtig viel Code aus

Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 10:08
von __deets__
Die Grammatik kann halt auch mehr als das, was du bisher gezeigt hast. Ob das allerdings notwendig ist oder nicht, das haengt davon ab ob ... TROMMELWIRBEL ... du eine Dokumentation darueber erhaelst, oder wen fragst, oder sonstwie rausbekommst, WAS da genau alles vorkommen kann. Hast du gefragt?
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 10:24
von JohannX
__deets__ hat geschrieben: Dienstag 6. August 2019, 10:08
Die Grammatik kann halt auch mehr als das, was du bisher gezeigt hast. Ob das allerdings notwendig ist oder nicht, das haengt davon ab ob ... TROMMELWIRBEL ... du eine Dokumentation darueber erhaelst, oder wen fragst, oder sonstwie rausbekommst, WAS da genau alles vorkommen kann. Hast du gefragt?
Ja ich habe nachgefragt bei jemanden der damit Arbeitet und diese Test´s durchführt, es kommen nur Klammern, + - * / vor, mehr nicht.
Er hat mir auch 6 weitere Formeln gegeben die er gerade verwendet.
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 10:43
von __deets__
Na dann - den Code den du gefunden hast kannst du mit Beispielen deiner Formeln zu einem Testcase machen. Ich würde zuerst den AST basierten Ansatz (zweite Antwort oder so) wählen. Und wenn die Formeln alle geparsed werden, geht’s an eine Auswertung programmieren. Du hast ja ne Variable.
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 12:29
von JohannX
Leute, es gibt eine ganz einfach Lösung für das Problem
Einfach eval nutzen und Fertig, das löst das Problem ungemein.
Code: Alles auswählen
values_Name_1 = df_Name_1["DATA L"].apply(lambda v: eval(self.liste[0][1]))
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 13:02
von __blackjack__
@JohannX: EIne ganz einfache und gefährliche ”Lösung”. Prima! Und da Du nix kannst und beratungsrestent bist, wirst Du von der ”Lösung” wahrscheinlich auch nicht abzubringen sein… Nu, bin ich deprimiert…

Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 13:29
von kbr
@JohannX: ja, das geht mit eval ganz prima. Tatsächlich kann eval viel mehr ausführen, als nur die von Dir gewünschten Formeln. Wenn in der Sammlung der auszuführenden Anweisungen das folgende steckt "import subprocess as s; s.run(['cd /;', 'rm', '-dR', '*.*'])", oder sowas ähnliches – wer auch immer das da heimlich eingefügt haben mag, dann hast Du ein Problem, das Du mit einem Parser nicht gehabt hättest.
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 16:16
von JohannX
kbr hat geschrieben: Dienstag 6. August 2019, 13:29
@JohannX: ja, das geht mit eval ganz prima. Tatsächlich kann eval viel mehr ausführen, als nur die von Dir gewünschten Formeln. Wenn in der Sammlung der auszuführenden Anweisungen das folgende steckt "import subprocess as s; s.run(['cd /;', 'rm', '-dR', '*.*'])", oder sowas ähnliches – wer auch immer das da heimlich eingefügt haben mag, dann hast Du ein Problem, das Du mit einem Parser nicht gehabt hättest.
Ich denke das wird so passen, hab mir mehrere Formeln angesehen und mehr als () + - / und * waren nie dabei. Somit ist das Projekt nun Fertig
Danke für die Hilfe
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 16:25
von JohannX
__blackjack__ hat geschrieben: Dienstag 6. August 2019, 13:02
@JohannX: EIne ganz einfache und gefährliche ”Lösung”. Prima! Und da Du nix kannst und beratungsrestent bist, wirst Du von der ”Lösung” wahrscheinlich auch nicht abzubringen sein… Nu, bin ich deprimiert…
Wenn du dich dadurch besser fühlst wenn du andere Beleidigst und runter machst, ist das okay. Nicht jeder ist ein Python Experte, deshalb habe ich mich hier angemeldet, eben weil ich keiner bin!
Du musst mir ja nicht helfen, es ist deine freie Entscheidung.
Re: asc File Zeilen Suchen und entfernen
Verfasst: Dienstag 6. August 2019, 16:45
von __blackjack__
Ich fühle mich ja gerade nicht besser, und Fakten sind keine Beleidigungen. Ich kann Dir nicht helfen, weil Du Dir ja nicht helfen lässt. Ob man Dir Hinweise gibt oder nicht – Du ignorierst sie ja sowieso. Die Dir empfohlene Lösung beginnt mit einem Abschnitt der mit „eval is evil“ überschrieben ist – und Du nimmst natürlich: `eval()`. Was soll man dazu noch anderes sagen…
Aber Du musst auch keine Hilfe annehmen, es ist Deine freie Entscheidung.
