Razčlenjevanje besedilnih datotek s Perl

Razčlenjevanje besedilnih datotek je eden od razlogov, da je Perl odlično orodje za rudarjenje in zapisovanje podatkov.

Kot boste videli spodaj, je Perl mogoče uporabiti za preoblikovanje skupine besedila. Če pogledate navzdol na prvi kos besedila in nato na zadnji del na dnu strani, lahko vidite, da je koda na sredini tisto, ki prvi niz spremeni v drugega.

Kako razčleniti besedilne datoteke

Kot primer, sestavimo majhen program, ki odpre datoteko s podatki, ločeno z zavihki, in stolpce razčleni v nekaj, kar lahko uporabimo.

Kot primer recite, da vam šef pošlje datoteko s seznamom imen, e-poštnih sporočil in telefonskih številk in vas želi prebrati datoteko in naredite nekaj z informacijami, na primer, da jih vstavite v bazo podatkov ali jih preprosto natisnete v lepo oblikovani obliki poročilo.

Stolpci datoteke so ločeni z znakom TAB in bi izgledali nekako takole:

 Larry [email protected] 111-1111

 Curly [email protected] 222-2222

 Moe [email protected] 333-3333 

Tu je celotni seznam, s katerim bomo sodelovali:

instagram viewer
 #! / usr / bin / perl


 odprto (FILE, 'data.txt');

 medtem () {

 šimpanz;

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

 natisni "Ime: $ name \ n";

 natisni "E-pošta: $ email \ n";

 natisnite "Telefon: $ telefon \ n";

 natisnite "\ n";

 }

 blizu (DATOTEKA);

 izhod;


Opomba: To povleče nekaj kode iz vadnice naprej kako brati in pisati datoteke v Perlu.

Najprej naredi odprto a mapa ki se imenuje data.txt (ki bi moral biti v istem imeniku kot skript Perl). Nato datoteko prebere v spremenljivo različico $ _ vrstico. V tem primeru je $ _ implicirano in se dejansko ne uporablja v kodi.

Po branju v vrstici je kateri koli prazen prostor lupil od konca. Nato se funkcija razdelitve uporablja za prelom vrstice na znaku zavihka. V tem primeru je jeziček predstavljen s kodo \ t. Levo od znaka razcepa boste videli, da dodeljujem skupino treh različnih spremenljivk. Te predstavljajo po enega za vsak stolpec vrstice.

Končno je vsaka spremenljivka, ločena od vrstice datoteke, natisnjena ločeno, tako da lahko vidite, kako dostopati do podatkov vsakega stolpca posebej.

Izhod skripta mora izgledati nekako takole:

 Ime: Larry

 E-pošta: [email protected]

 Telefon: 111-1111


 Ime: Curly

 E-pošta: [email protected]

 Telefon: 222-2222


 Ime: Moe

 E-pošta: [email protected]

 Telefon: 333-3333


Čeprav v tem primeru samo tiskamo podatke, bi bilo enako nepomembno shraniti iste podatke, razčlenjene iz datoteke TSV ali CSV, v polno bazo podatkov.