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 grundsätzlich neu zu formatieren. Wenn Sie auf den ersten Textabschnitt und dann auf den letzten Teil unten auf der Seite schauen, können Sie sehen, dass der Code in der Mitte den ersten Satz in den zweiten verwandelt.
So analysieren Sie Textdateien
Lassen Sie uns als Beispiel ein kleines Programm erstellen, das eine durch Tabulatoren getrennte Datendatei öffnet und die Spalten in etwas analysiert, das wir verwenden können.
Angenommen, Ihr Chef gibt Ihnen eine Datei mit einer Liste mit Namen, E-Mails und Telefonnummern und möchte, dass Sie diese lesen die Datei und machen Sie etwas mit den Informationen, wie sie in eine Datenbank stellen oder sie einfach in einem schön formatierten Format ausdrucken Bericht.
Die Spalten der Datei werden durch das TAB-Zeichen getrennt und sehen ungefähr so aus:
Hier ist die vollständige Liste, mit der wir arbeiten werden:
#! / usr / bin / perl
open (FILE, 'data.txt');
während () {
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: Dadurch wird Code aus dem Lernprogramm abgerufen wie man Dateien in Perl liest und schreibt.
Was es zuerst tut, ist offen a Datei genannt data.txt (das sollte sich im selben Verzeichnis wie das Perl-Skript befinden). 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 ist jedes Leerzeichen gekaut am Ende davon. Dann wird die Teilungsfunktion verwendet, um die Linie auf dem Tabulatorzeichen zu unterbrechen. In diesem Fall wird die Registerkarte durch den Code dargestellt \ t. Links neben dem Split-Zeichen sehen Sie, dass ich eine Gruppe von drei verschiedenen Variablen zuweise. Diese repräsentieren eine für jede Spalte der Zeile.
Schließlich wird jede Variable, die von der Zeile der Datei getrennt wurde, separat gedruckt, damit 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: Curly
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, ist es trivial einfach, dieselben Informationen, die aus einer TSV- oder CSV-Datei analysiert wurden, in einer vollwertigen Datenbank zu speichern.