Analisando arquivos de texto com Perl

A análise de arquivos de texto é um dos motivos pelos quais o Perl é uma excelente ferramenta de mineração e script de dados.

Como você verá abaixo, o Perl pode ser usado para reformatar basicamente um grupo de texto. Se você olhar para o primeiro pedaço de texto e a última parte na parte inferior da página, poderá ver que o código no meio é o que transforma o primeiro conjunto no segundo.

Como analisar arquivos de texto

Como exemplo, vamos criar um pequeno programa que abre um arquivo de dados separados por tabulação e analisa as colunas em algo que podemos usar.

Diga, por exemplo, que seu chefe lhe entrega um arquivo com uma lista de nomes, e-mails e números de telefone e deseja que você leia o arquivo e faça algo com as informações, como colocá-lo em um banco de dados ou simplesmente imprimi-lo em um formato bem formatado relatório.

As colunas do arquivo são separadas com o caractere TAB e teriam a seguinte aparência:

 Larry [email protected] 111-1111

 Curly [email protected] 222-2222

 Moe [email protected] 333-3333 

instagram viewer

Aqui está a lista completa com a qual trabalharemos:

 #! / usr / bin / perl


 open (FILE, 'data.txt');

 enquanto () {

 chomp;

 ($ name, $ email, $ phone) = divisão ("\ t");

 imprima "Nome: $ nome \ n";

 imprima "Email: $ email \ n";

 imprima "Telefone: $ phone \ n";

 imprimir "\ n";

 }

 fechar (arquivo);

 Saída;


Nota: Isso extrai algum código do tutorial em como ler e gravar arquivos no Perl.

O que ele faz primeiro é abrir um Arquivo chamado data.txt (que deve residir no mesmo diretório que o script Perl). Em seguida, ele lê o arquivo na variável catchall $ _ linha por linha. Nesse caso, o $ _ é implícita e não é realmente usado no código.

Depois de ler em uma linha, qualquer espaço em branco é mastigado fora do fim. Em seguida, a função de divisão é usada para quebrar a linha no caractere de tabulação. Nesse caso, a guia é representada pelo código \ t. À esquerda do sinal da divisão, você verá que estou atribuindo um grupo de três variáveis ​​diferentes. Eles representam um para cada coluna da linha.

Por fim, cada variável que foi dividida da linha do arquivo é impressa separadamente, para que você possa ver como acessar os dados de cada coluna individualmente.

A saída do script deve ser algo como isto:

 Nome: Larry

 E-mail: [email protected]

 Telefone: 111-1111


 Nome: Encaracolado

 E-mail: [email protected]

 Telefone: 222-2222


 Nome: Moe

 E-mail: [email protected]

 Telefone: 333-3333


Embora neste exemplo estamos apenas imprimindo os dados, seria trivialmente fácil armazenar as mesmas informações analisadas de um arquivo TSV ou CSV, em um banco de dados completo.