Cum să analizați fișierele text cu Perl

Analizarea fișierelor text este unul dintre motivele pentru care Perl face un instrument minunat de extragere a datelor și scripturi.

După cum veți vedea mai jos, Perl poate fi folosit pentru a reformata practic un grup de text. Dacă priviți în jos primul fragment de text și apoi ultima parte din partea de jos a paginii, puteți vedea că codul din mijloc este ceea ce transformă primul set în al doilea.

Cum să analizați fișierele text

Ca exemplu, haideți să construim un mic program care deschide un fișier de date separat de file și analizează coloanele în ceva ce putem folosi.

Spune, de exemplu, că șeful tău îți predă un fișier cu o listă de nume, e-mailuri și numere de telefon și dorește ca tu să citești fișierul și să faci ceva cu informațiile, cum ar fi să îl pui într-o bază de date sau să-l imprimi într-un raport frumos formatat.

Coloanele fișierului sunt separate cu caracterul TAB și ar arăta astfel:

 Larry [email protected] 111-1111

 Curly [email protected] 222-2222

 Moe [email protected] 333-3333 

Iată lista completă cu care vom lucra:

 #! / Usr / bin / perl

 

 deschis (FILE, 'data.txt');

 in timp ce () 

 chomp;

 (nume $, e-mail $, telefon $) = split ("\ t");

 imprimați „Nume: $ nume \ n”;

 imprimați „Email: $ email \ n”;

 imprimați „Telefon: $ telefon \ n”;

 imprimați „--------- \ n”;

 

 închide (FILE);

 Ieșire;


Notă: Acest lucru scoate un cod din tutorialul despre cum puteți citi și scrie fișiere în Perl.

Ceea ce face mai întâi este să deschideți un fișier numit data.txt (care ar trebui să aibă reședința în același director ca scriptul Perl). Apoi, citește fișierul în variabila catchall $ _ linie după linie. În acest caz, $ _ este implicite și nu este folosit de fapt în cod.

După citirea într-o linie, orice spațiu alb este modificat la sfârșitul acesteia. Apoi, funcția de împărțire este folosită pentru a rupe linia de pe caracterul filei. În acest caz, fila este reprezentată de cod \ t. În stânga semnului împărțirii, veți vedea că aloc un grup de trei variabile diferite. Acestea reprezintă una pentru fiecare coloană a liniei.

În cele din urmă, fiecare variabilă care a fost împărțită din linia fișierului este tipărită separat, astfel încât să puteți vedea cum să accesați datele fiecărei coloane individual.

Ieșirea scriptului ar trebui să arate așa:

 Nume: Larry

 E-mail: [email protected]

 Telefon: 111-1111

 ---------

 Nume: Curly

 E-mail: [email protected]

 Telefon: 222-2222

 ---------

 Nume: Moe

 E-mail: [email protected]

 Telefon: 333-3333

 --------- 

Deși în acest exemplu imprimăm doar datele, ar fi banal de ușor să stochezăm aceeași informație analizată dintr-un fișier TSV sau CSV, într-o bază de date completă.