Teksto failų analizė naudojant „Perl“

Teksto failų analizė yra viena iš priežasčių, kodėl „Perl“ sukuria puikų duomenų gavybos ir scenarijavimo įrankį.

Kaip pamatysite toliau, „Perl“ gali būti naudojamas iš esmės performatuoti teksto grupę. Jei pažvelgsite žemyn į pirmą teksto dalį ir paskui į paskutinę puslapio apačią, pamatysite, kad viduryje esantis kodas pirmąjį rinkinį paverčia antruoju.

Kaip išanalizuoti tekstinius failus

Kaip pavyzdį sukurkime nedidelę programą, kuri atveria skirtukų lentelių atskirtą failą ir analizuoja stulpelius į tai, ką galime naudoti.

Sakykite, pavyzdžiui, kad jūsų viršininkas įteikia jums failą su vardų, el. Pašto adresų ir telefono numerių sąrašu ir nori, kad jūs perskaitytumėte failą ir padarykite ką nors su informacija, pavyzdžiui, įdėkite į duomenų bazę arba tiesiog atsispausdinkite gražiai suformatuotu formatu ataskaita.

Failo stulpeliai yra atskirti TAB simboliu ir atrodytų maždaug taip:

 Larry [email protected] 111-1111

 Garbanotas [email protected] 222–2222

 Moe [email protected] 333-3333 

instagram viewer

Čia yra visas sąrašas, su kuriuo mes dirbsime:

 #! / usr / bin / perl


 atidaryti (FILE, 'data.txt');

 o () {

 chompas;

 ($ vardas, $ el. paštas, $ telefonas) = ​​split („\ t“);

 spausdinti „Vardas: $ name \ n“;

 spausdinti „Email: $ email \ n“;

 spausdinti „Telefonas: $ telefonas \ n“;

 spausdinti „\ n“;

 }

 uždaryti (Failas);

 išėjimas;


Pastaba: Tai ištraukia tam tikrą kodą iš mokymo programos kaip skaityti ir rašyti failus Perle.

Tai, ką ji daro pirmiausia, yra atvira byla vadinamas data.txt (tai turėtų būti tame pačiame kataloge, kaip ir „Perl“ scenarijus). Tada nuskaito failą eilutės po eilutės kintamajame $ _ faile. Tokiu atveju $ _ yra numanomas ir faktiškai nenaudojamas kode.

Perskaičius eilutėje, bet koks tarpas yra chomped nuo jo galo. Tada skaidymo funkcija naudojama nutraukti skirtuko simbolio liniją. Tokiu atveju skirtuką vaizduoja kodas \ t. Į kairę nuo padalijimo ženklo pamatysite, kad priskiriu trijų skirtingų kintamųjų grupę. Jie reiškia po vieną kiekviename eilutės stulpelyje.

Galiausiai kiekvienas kintamasis, atskirtas nuo failo eilutės, atspausdinamas atskirai, kad galėtumėte pamatyti, kaip atskirai pasiekti kiekvieno stulpelio duomenis.

Scenarijaus išvestis turėtų atrodyti maždaug taip:

 Vardas: Larry

 El. Paštas: [email protected]

 Telefonas: 111-1111


 Vardas: Garbanotas

 Paštas: [email protected]

 Telefonas: 222–2222


 Vardas: Moe

 Paštas: [email protected]

 Telefonas: 333-3333


Nors šiame pavyzdyje mes tik spausdiname duomenis, būtų be galo lengva tą pačią informaciją, išnagrinėtą iš TSV ar CSV failo, laikyti visavertėje duomenų bazėje.

instagram story viewer