Analiza plików tekstowych za pomocą Perla

click fraud protection

Parsowanie plików tekstowych jest jednym z powodów, dla których Perl jest doskonałym narzędziem do eksploracji danych i tworzenia skryptów.

Jak zobaczysz poniżej, Perl może być użyty do przeformatowania grupy tekstu. Jeśli spojrzysz na pierwszy fragment tekstu, a następnie na ostatnią część u dołu strony, zobaczysz, że kod pośrodku przekształca pierwszy zestaw w drugi.

Jak analizować pliki tekstowe

Jako przykład zbudujmy mały program, który otwiera plik danych rozdzielany tabulatorami i analizuje kolumny w coś, co możemy wykorzystać.

Powiedzmy na przykład, że szef przekazuje ci plik z listą nazwisk, e-maili i numerów telefonów i chce, abyś przeczytał plik i zrób coś z informacjami, na przykład umieść go w bazie danych lub po prostu wydrukuj w ładnie sformatowanym formacie raport.

Kolumny pliku są oddzielone znakiem TAB i wyglądałyby mniej więcej tak:

 Larry [email protected] 111-1111

 Kręcone [email protected] 222-2222

 Moe [email protected] 333-3333 

Oto pełna lista, z którą będziemy pracować:

 #! / usr / bin / perl
instagram viewer


 open (PLIK, „data.txt”);

 podczas () {

 chomp;

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

 wydrukuj „Nazwa: $ nazwa \ n”;

 wydrukuj „E-mail: $ email \ n”;

 wydrukuj „Telefon: $ phone \ n”;

 wydrukuj „\ n”;

 }

 zamknąć plik);

 wyjście;


Uwaga: Spowoduje to pobranie kodu z samouczka jak czytać i zapisywać pliki w Perlu.

To, co robi najpierw, jest otwarte plik o nazwie data.txt (który powinien znajdować się w tym samym katalogu co skrypt Perla). Następnie odczytuje plik do zmiennej catchall $ _ linia po linii. W tym przypadku $ _ wynosi ukryty i nie są używane w kodzie.

Po przeczytaniu w wierszu dowolne białe znaki są gryzła na końcu. Następnie funkcja podziału służy do przerywania linii znaku tabulacji. W takim przypadku karta jest reprezentowana przez kod \ t. Po lewej stronie znaku podziału zobaczysz, że przypisuję grupę trzech różnych zmiennych. Reprezentują one jeden dla każdej kolumny linii.

Na koniec każda zmienna, która została oddzielona od linii pliku, jest drukowana osobno, dzięki czemu można zobaczyć, jak uzyskać dostęp do danych każdej kolumny osobno.

Dane wyjściowe skryptu powinny wyglądać mniej więcej tak:

 Imię: Larry

 E-mail: [email protected]

 Telefon: 111-1111


 Imię: Kręcone

 E-mail: [email protected]

 Telefon: 222-2222


 Imię: Moe

 E-mail: [email protected]

 Telefon: 333-3333


Chociaż w tym przykładzie po prostu drukujemy dane, byłoby banalnie łatwo przechowywać te same informacje przeanalizowane z pliku TSV lub CSV w pełnoprawnej bazie danych.

instagram story viewer