Tecnología

Inicio

Cómo convertir XLS a CSV en Perl

Cómo convertir XLS a CSV en Perl


Las empresas suelen utilizar Excel para almacenar tablas de datos. A menudo, las empresas encontrarán un uso para que los datos que requiere su conversión en un formato diferente para otro software a utilizar. Sin embargo, los archivos de Excel no están diseñados para ser leídos por otros programas. Los datos que contienen se debe convertir a un formato común, tales como archivos de valores separados por comas (CSV). Para las personas con una gran cantidad de archivos de Excel para convertir, el proceso habitual es engorroso. Por lo tanto la capacidad de Perl para manejar las tareas de procesamiento de datos de forma rápida y sencilla es muy útil en este caso.

Instrucciones

Crear el archivo CSV

1 Instalar el módulo Perl "Hoja de cálculo :: ParseExcel" en su sistema. Este es el módulo estándar de Perl para leer datos de los archivos de Excel. El proceso de instalación depende del tipo de sistema.

Si usted tiene Activestate Perl (es decir ,. Perl para Windows):

Abra una ventana del símbolo del sistema. Ir a la subcarpeta "bin" de la carpeta donde se encuentra el programa de Activestate Perl. Si usted no sabe dónde está, utilice la función de búsqueda de Windows para encontrar "Activestate" y hacer una nota de la "ruta de directorio" a la carpeta Activestate Perl. A continuación, vaya a la ventana de símbolo del sistema y escriba "DIR" siguió la ruta del directorio y, a continuación, pulse Intro. A continuación, escriba "DIR bin" y pulse Intro.

Tipo "ppm" a continuación, pulse Intro. Parte del texto aparecerá y entonces usted será capaz de escribir comandos de nuevo. Tipo de "instalar hoja de cálculo :: ParseExcel" y pulse Intro. Algo más de texto aparecerá y luego se completará la instalación.

Si usted tiene Perl estándar:

Abra un símbolo del sistema o en la ventana de terminal. En Mac OS X, el programa se llama Terminal. Escriba lo siguiente:

perl -e instalar -MCPAN hoja de cálculo :: ParseExcel

Pulse Retorno. Una gran cantidad de texto aparecerá a continuación, la instalación se habrá completado.

2 Hacer archivo accesible a su script de Perl su Excel. Haga una copia del archivo de Excel con el nombre "xls_test.xls" para este tutorial y moverlo a la carpeta donde se encuentra el script de Perl.

3 Cargar su archivo de Excel en su script Perl con este código:

utilizar la hoja de cálculo :: ParseExcel;

mi = $ xlsparser hoja de cálculo :: ParseExcel-> new ();

mi xlsbook $ = $ parser-> parse ( 'xsl_test.xls');

mi xls $ = $ XLS-> hoja de trabajo (0);

Ahora tenemos un objeto ( "$ xls") que contiene los datos de la primera hoja de cálculo Excel de nuestro archivo. Si desea obtener datos de una hoja de cálculo diferente, sustituya el cero ( "0") en la cuarta línea con el número de la hoja de cálculo menos uno. Por ejemplo, el número de la primera hoja de cálculo es cero ( "0"), el número de la tercera hoja de cálculo es de dos ( "2") y así sucesivamente. Si el archivo de Excel sólo tiene una hoja de cálculo, utilice el código tal cual.

4 Averiguar qué columnas y filas tiene la hoja de cálculo. Utilizar este código:

mi ($ row_first, row_last $) = $ XLS-> row_range ();

mi ($ col_first, col_last $) = $ XLS-> col_range ();

5 Crear una variable para almacenar los datos CSV. Utilizar este código:

mi $ csv = '';

6 Crear los datos CSV. Utilizar el código para hacerlo:

para mi $ fila ($ row_first .. $ row_last) {#Step través de cada fila

para mi $ col ($ col_first .. $ col_last) {#Step través de cada columna

mi celular $ = $ XLS-> get_cell ($ fila, $ col); #get La celda actual

otro a menos que $ célula;

$ Csv = $ por células> sin formato (.); #GET Datos en bruto de la célula - no hay colores del borde ni nada de eso

if ($ col == $ col_last) {

$ Csv = "\ n".; #make Una nueva línea al final de la fila

} Else {

. $ Csv = ""; "Añadir una coma entre cada elemento

}

}

}

7 Guardar los datos en $ csv en un archivo utilizando las funciones de escritura de ficheros de Perl. Asegúrese de que su nombre de archivo termina en ".csv" para mayor claridad.

Consejos y advertencias

  • archivos de Excel son mucho más complicados que los archivos CSV. Esto funcionará para los archivos de Excel con una fila de encabezado o ninguna fila de encabezado seguido de filas de datos. Cualquier otra cosa requiere una programación más complicado.