Vida

Cómo analizar archivos de texto con Perl

Cómo analizar archivos de texto con Perl

Analizar archivos de texto es una de las razones por las que Perl es una excelente herramienta de minería de datos y secuencias de comandos.

Como verá a continuación, Perl puede usarse para reformatear básicamente un grupo de texto. Si mira hacia abajo en el primer fragmento de texto y luego en la última parte en la parte inferior de la página, puede ver que el código en el medio es lo que transforma el primer conjunto en el segundo.

Cómo analizar archivos de texto

Como ejemplo, construyamos un pequeño programa que abra un archivo de datos separado por tabulaciones y analice las columnas en algo que podamos usar.

Digamos, por ejemplo, que su jefe le entrega un archivo con una lista de nombres, correos electrónicos y números de teléfono, y quiere que lea el archivo y haga algo con la información, como ponerlo en una base de datos o simplemente imprimirlo en un informe bien formateado.

Las columnas del archivo están separadas con el carácter TAB y se verían así:

Larry [email protected] 111-1111

Curly [email protected] 222-2222

Moe [email protected] 333-3333

Aquí está la lista completa con la que trabajaremos:

#! / usr / bin / perl

abierto (ARCHIVO, 'data.txt');

mientras () {

chomp

($ nombre, $ correo electrónico, $ teléfono) = dividir (" t");

imprime "Nombre: $ nombre n";

imprima "Correo electrónico: $ correo electrónico n";

imprima "Teléfono: $ teléfono n";

imprimir "--------- n";

}

cerrar el archivo);

salida;

Nota: Esto extrae algo de código del tutorial sobre cómo leer y escribir archivos en Perl.

Lo primero que hace es abrir un archivo llamado data.txt (que debe residir en el mismo directorio que el script Perl). Luego, lee el archivo en la variable general $ _ línea por línea. En este caso, $ _ es implícito y no se usa realmente en el código.

Después de leer en una línea, cualquier espacio en blanco se corta al final de la misma. Luego, la función de división se usa para romper la línea en el carácter de tabulación. En este caso, la pestaña está representada por el código t. A la izquierda del signo de división, verá que estoy asignando un grupo de tres variables diferentes. Estos representan uno para cada columna de la línea.

Finalmente, cada variable que se ha dividido de la línea del archivo se imprime por separado para que pueda ver cómo acceder a los datos de cada columna individualmente.

El resultado del script debería verse así:

Nombre: Larry

Correo electrónico: [email protected]

Teléfono: 111-1111

---------

Nombre: rizado

Correo electrónico: [email protected]

Teléfono: 222-2222

---------

Nombre: Moe

Correo electrónico: [email protected]

Teléfono: 333-3333

---------

Aunque en este ejemplo solo estamos imprimiendo los datos, sería trivialmente fácil almacenar esa misma información analizada desde un archivo TSV o CSV, en una base de datos completa.