Analiza fișierelor 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 înmânează un fișier cu o listă de nume, e-mailuri și numere de telefon și dorește să citești fișierul și faceți ceva cu informațiile, cum ar fi să-l introduceți într-o bază de date sau să-l imprimați într-un format bine format raport.

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 

instagram viewer

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 ceva cod din tutorialul de pe cum să citești și să scrii fișiere în Perl.

Ceea ce face mai întâi este deschis a 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 chomped la sfârșitul acestuia. Apoi, funcția de împărțire este folosită pentru a rupe linia de pe caracterul file. Î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 divizată de la 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ă stochezi aceleiași informații analizate dintr-un fișier TSV sau CSV, într-o bază de date completă.