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 hacer algo con la información, como ponerlo en una base de datos o simplemente imprimirlo en un formato agradable reporte.
Las columnas del archivo están separadas con el carácter TAB y se verían así:
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 que hace primero es abrir un archivo llamado data.txt (que debería 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 es mordisqueado fuera del 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.
La salida 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.