Analysieren von Textdateien mit Perl

Das Parsen von Textdateien ist einer der Gründe, warum Perl ein großartiges Data Mining- und Scripting-Tool ist.

Wie Sie unten sehen werden, kann Perl verwendet werden, um eine Textgruppe grundlegend neu zu formatieren. Wenn Sie auf den ersten Textblock und dann auf den letzten Teil am Ende der Seite hinunterblicken, können Sie erkennen, dass der Code in der Mitte die Umwandlung des ersten Satzes in den zweiten bewirkt.

Analysieren von Textdateien

Als Beispiel wollen wir ein kleines Programm erstellen, das eine tabulatorgetrennte Datendatei öffnet und die Spalten in etwas analysiert, das wir verwenden können.

Nehmen wir zum Beispiel an, Ihr Vorgesetzter übergibt Ihnen eine Datei mit einer Liste von Namen, E-Mails und Telefonnummern und möchte, dass Sie die Datei lesen und mit den Informationen etwas anfangen, z. B. sie in eine Datenbank stellen oder sie einfach ausdrucken in einem schön formatierten Bericht.

Die Spalten der Datei werden mit dem TAB-Zeichen getrennt und sehen ungefähr so ​​aus:

 Larry [email protected] 111-1111

 Curly [email protected] 222-2222

 Moe [email protected] 333-3333 

Hier ist die vollständige Liste, mit der wir arbeiten werden:

 #! / usr / bin / perl

 

 open (DATEI, 'data.txt');

 while () 

 chomp;

 ($ name, $ email, $ phone) = split ("\ t");

 print "Name: $ name \ n";

 print "Email: $ email \ n";

 print "Telefon: $ phone \ n";

 print "--------- \ n";

 

 Datei schließen);

 Ausfahrt;


Hinweis: Hiermit wird Code aus dem Lernprogramm zum Lesen und Schreiben von Dateien in Perl abgerufen.

Zunächst wird eine Datei mit dem Namen data.txt geöffnet (die sich im selben Verzeichnis wie das Perl-Skript befinden sollte). Anschließend wird die Datei zeilenweise in die catchall-Variable $ _ eingelesen. In diesem Fall ist das $ _ impliziert und nicht wirklich im Code verwendet.

Nach dem Einlesen einer Zeile werden Leerzeichen am Ende der Zeile abgeschnitten. Dann wird die Trennfunktion verwendet, um die Zeile auf dem Tabulatorzeichen zu unterbrechen. In diesem Fall wird die Registerkarte durch den Code dargestellt \ t. Links vom Split-Zeichen sehen Sie, dass ich eine Gruppe von drei verschiedenen Variablen zuordnet. Diese repräsentieren eine für jede Spalte der Linie.

Schließlich wird jede Variable, die aus der Zeile der Datei herausgetrennt wurde, separat gedruckt, sodass Sie sehen können, wie Sie auf die Daten jeder Spalte einzeln zugreifen können.

Die Ausgabe des Skripts sollte ungefähr so ​​aussehen:

 Name: Larry

 E-Mail: [email protected]

 Telefon: 111-1111

 ---------

 Name: Lockig

 E-Mail: [email protected]

 Telefon: 222-2222

 ---------

 Name: Moe

 E-Mail: [email protected]

 Telefon: 333-3333

 --------- 

Obwohl wir in diesem Beispiel nur die Daten ausdrucken, wäre es trivial einfach, dieselben Informationen, die aus einer TSV- oder CSV-Datei geparst wurden, in einer vollständigen Datenbank zu speichern.