Thread Datenzeilen einlesen (6 answers)
Opened by qwe123qwe at 2013-10-08 23:10

qwe123qwe
 2013-10-08 23:10
#171078 #171078
User since
2013-10-08
65 Artikel
BenutzerIn
[default_avatar]
Guten Abend !
Da ich (obwohl Seltennutzer) hin und wieder wegen der Gleitkommaproblematik an die Grenzen der Bash stoße bin ich am Ausprobieren von Perl -- also blutiger Anfänger.
Derzeit habe ich folgende Aufgabe:
ich möchte aus einer Textdatei einen Block mit Datenzeilen auslesen, die alle das Format haben wie folgt:

08:29:55 140,14 2.045 15.001
08:29:44 140,15 313 10.981
08:29:43 140,15 65 14.950

(die letzte Zahl ist mit MEHREREN Leerzeichen getrennt)

Über und unter diesem Block gibt es eine variable Anzahl von Zeilen, die mich nicht interessieren.
Die Datenzeilen möchte ich
- als Textdatei abspeichern
- (in einem Tabellenprogramm/Datenbank) konsoldieren
- eventuell auch in Perl konsolidieren, falls das sinnvoll ist
- die konsolidierten dann mit Perl weiterverarbeiten.

Nach einigem Lesen in Büchern und hier im Board raucht mir etwas der Kopf, deshalb die Fragen hier....

Ich würde derzeit so vorgehen :
- die Eingangs- und Ausgangsdateien öffnen
- mit einer while-Schleife die Eingangsdatei zeilenweise einlesen
- Überspringen der unnötigen Zeilen mit next unless
- hier Fallunterscheidung mit regex - Prüfung (Zeilenanfang ist Uhrzeit bei den Zeilen im Block)
- print in Ausgabedatei
- Schließen der Dateien

die Fragen :
1. gibt's da auch für Anfänger geeignete bessere/einfachere Wege (bis tie::File bin ich nocht nicht gekommen :-)) )?
2. gibt's in Perl eventuell einen Trick, das ZEITFORMAT am Zeilenanfang anstelle regex als Kriterium zu nutzen ?
3. die print-Anweisung ist ja innerhalb der Schleife -- wann speichert Perl denn die Zeilen physikalisch ab, d.h. wieviele Schreibzugriffe finden statt ?
4. der Block sieht ja sehr nach csv aus und hier im Forum habe ich ein paar Threads mit DBI:CSV gelesen -- würde das (zu einem späteren Zeitpunkt) Sinn machen, das mit einzubauen ? Gibt's da eine Faustregel, wann das sinnvoll ist ?

Vielen Dank schon mal für's Anschauen !

View full thread Datenzeilen einlesen