Разбор текстовых файлов с помощью Perl

Разбор текстовых файлов - одна из причин, по которой Perl делает отличный инструмент для анализа данных и создания сценариев.

Как вы увидите ниже, Perl можно использовать для переформатирования группы текста. Если вы посмотрите вниз на первый фрагмент текста, а затем на последнюю часть внизу страницы, вы увидите, что код в середине - это то, что преобразует первый набор во второй.

Как разобрать текстовые файлы

В качестве примера давайте создадим небольшую программу, которая открывает файл данных, разделенный табуляцией, и разбирает столбцы на то, что мы можем использовать.

Скажем, в качестве примера, что ваш начальник вручает вам файл со списком имен, электронных писем и телефонных номеров и хочет, чтобы вы прочитали файл и сделать что-то с информацией, например, положить его в базу данных или просто распечатать в красиво отформатированном отчет.

Столбцы файла разделены символом TAB и будут выглядеть примерно так:

 Ларри Ларри@example.com 111-1111

 Вьющиеся вьющиеся@example.com 222-2222

 Moe [email protected] 333-3333 

instagram viewer

Вот полный список, с которым мы будем работать:

 #! / USR / бен / Perl


 открыть (FILE, 'data.txt');

 пока () {

 чавкать;

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

 выведите «Name: $ name \ n»;

 распечатать «Электронная почта: $ email \ n»;

 распечатать "Phone: $ phone \ n";

 напечатайте "\ n";

 }

 закрыть (ФАЙЛ);

 выход;


Замечания: Это тянет некоторый код из учебника на как читать и писать файлы в Perl.

То, что он делает в первую очередь, это открыть файл называется data.txt (он должен находиться в том же каталоге, что и скрипт Perl). Затем он читает файл в переменную catchall $ _ построчно. В этом случае $ _ подразумеваемые и на самом деле не используется в коде.

После прочтения в строке любой пробел chomped с конца этого. Затем функция разделения используется для разбиения строки на символе табуляции. В этом случае вкладка представлена ​​кодом \ т. Слева от знака разделения вы увидите, что я назначаю группу из трех разных переменных. Они представляют один для каждого столбца строки.

Наконец, каждая переменная, которая была отделена от строки файла, печатается отдельно, чтобы вы могли видеть, как получить доступ к данным каждого столбца в отдельности.

Вывод скрипта должен выглядеть примерно так:

 Имя: Ларри

 Электронная почта: [email protected]

 Телефон: 111-1111


 Имя: Кудрявый

 Электронная почта: [email protected]

 Телефон: 222-2222


 Имя: Мо

 Электронная почта: [email protected]

 Телефон: 333-3333


Хотя в этом примере мы просто распечатываем данные, было бы несложно сохранить эту же информацию, проанализированную из файла TSV или CSV, в полноценной базе данных.

instagram story viewer