Einlesen von unterschiedlichen Datenformaten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
FrankyBoy
User
Beiträge: 1
Registriert: Mittwoch 22. Oktober 2014, 08:35

Hallo und guten Tag Python-Fangemeinde!

Da ich nicht sicher bin, ob meine Frage hier an diesem Ort richtig aufgehoben ist - bitte ich bei Fehlbelung meinen Beitrag zu verschieben.

Also es geht um das Einlesen von unterschiedlichen Datenformaten in Python (textbasierend als txt, dat, asc; Binärdateien, XML-Dateinen).
Ich habe die Information an welcher Zeilennummer und an welcher Stelle die entsprechede Information abgelegt ist. Es handelt sich beispielsweise um einen String und eine Zahl (2 Nachkommastellen) sowie in einem Fall um eine Zahlenreihe von 180 einzelnen Zahlen in der Form Zeilennummer 31: xx erste Zahl ohne Nachkomma, 2 Leerstellen, 2te Zahl mit 10 Nachkommastellen. Insgesamt habe ich 6 Dateiformate mit unterschiedlichen Orten für String u. Zahl.

Ich bräuchte also für jede dieser 6 Dateien ein individuelles Einleseprozedere bzw. die Ausgabe/Übergabe sollte in einem excelbasierendem Format als erster Schritt möglich sein. Sollte jetzt jemand stöhnen, kein Problem - ich bin froh für jede Idee zu diesem Problem.

Mittels Matlab ist es mir gelungen, zumindest die Binärdatei zu öffne...

Besten Dank und wenn das Problem zu unscharf formuliert sein sollte - am Besten schreiben - ich liefere nach.

Gruss

FrankyBoy
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@FrankyBoy: Zeilennummer xy Spalte z ist eine sehr ungünstige Art, ein Dateiformat zu beschreiben. Es gibt selten Dateiformate, die sich so strikt an solche Vorgaben halten, und wenn doch, will sie niemand freiwillig benutzen. Bei Binär- und XML-Dateien scheitert dieses Vorgehen schon inhärent. Dir bleibt also nichts anderes übrig, als für jedes Dateiformat einen eigenen Parser zu schreiben, mit einer möglichst guten Fehlerverarbeitung. Es gibt nichts schlimmeres, als mit zerstückelten Zahlen zu arbeiten, weil irgendeine Spalte verrutscht ist, nach Murphy wirst Du den Fehler erst erkennen, wenn er den größtmöglichen Schaden angerichtet hast (Du arbeitest hoffentlich nicht in einem Atomkraftwerk oder bei einem Flugzeugbauer).
Der Aufwand dafür ist bestimmt kleiner, als irgendeinen Metaparser zu schreiben, der Deine Zeilen/Spalten-Information verarbeiten kann.
Wie schon erwähnt geht das für Binär- und XML-Dateien sowieso nicht.
Antworten