Vida Tecno Idea guardada 0 veces
Sé la primera persona en valorar esta idea Valorar

Cómo convertir un archivo XLS a CSV en la línea de comandos[Linux].

Convertir una hoja de Microsoft Excel (archivo XLS) a un archivo separado por comas (CSV) es relativamente fácil cuando se utiliza un producto de Office, pero podría ser una tarea tediosa para los programadores hacerlo en la línea de comandos. La situación puede llegar cuando usted tiene un archivo XLS y necesita llenar la base de datos después de formatear los datos. Convertir el XLS a CSV es la forma ideal aquí ya que el CSV es el formato que puede ser fácilmente manipulado en cualquier lenguaje, ya sea Shell, Perl, Ruby, Python o Java. En este post, veremos las mejores maneras de convertir el archivo XLS a CSV y también discutiremos las ventajas y desventajas de usar estos métodos.

catdoc (en C)

La primera herramienta de línea de comandos de la que vamos a hablar es catdoc . La herramienta está escrita en C por V.B. Vagner.

1.1 Cómo instalarlo:

Descargue la herramienta de aquí . Vaya a su directorio de descargas y destartalo. Puede utilizar los siguientes comandos (en caso de que tenga algún problema):

gunzip catdoc-0.94.2.tar.gz tar xvf catdoc-0.94.2.tar

Ahora tenemos un directorio catdoc-0.94.2 . Entra en este directorio y ejecuta los siguientes comandos para instalarlo:

./configure hacer make install

La instalación es un proceso fácil y no debe enfrentarse a ningún problema.

1.2 Cómo utilizarlo:

Hay varias opciones para ejecutar el comando. Le diré las opciones que mejor funcionan para la conversión a Microsoft Excel:

xls2csv -x «Path_of_Your_XLS_File» -s cp1252 -d 8859-1> «Path_of_Your_CSV_File»«.

Anote la opción » -s » y » -d » (representa la fuente y el destino). Estas opciones se utilizan para especificar qué codificación de caracteres se utiliza en el archivo de origen y cuál sería la codificación de caracteres para el archivo de destino. Aquí he usado cpl1252 que es la codificación de caracteres de Microsoft y 8859-1 que se usa para la codificación de caracteres de Europa Occidental. Puede utilizar otras opciones disponibles utilizando el comando de ayuda.

xls2csv --help

1.3 Pros y contras:

Pros : Instalación directa

Contras : No hay conversión selectiva en el escenario de múltiples hojas, cubre todas las hojas presentes en el archivo xls (una solución sería especificar explícitamente un pie de página en cada hoja y luego usar la opción -b en el comando), problemas con pocos caracteres europeos, problemas con los campos de fecha (los campos de fecha se enredan a menudo), problemas con las comillas.

xls2csv (en Perl)

La segunda herramienta de la que vamos a hablar es un script en Perlxls2csv escrito por Ken Prows en Perl.

2.1 Cómo instalarlo:

Descargue el script aquí . Gunzip y tar lo hacemos como en la sección anterior y vamos al directorio extraído y usamos los siguientes comandos para instalarlo:

perl Makefile.PL
hacer
realizar una prueba
make install

Recuerde que este script Perl utiliza varios otros módulos Perl:

Locale::Recodificar Unicode::Hoja de cálculo del mapa::ParseExcel Texto::CSV_XS

Al instalar xls2csv, se producirá un error por el cual los módulos perl mencionados no han sido instalados. Le pedirá que descargue los módulos. Descargue e instale estos módulos cuando se le solicite. La instalación de todos estos módulos requiere privilegios de root. Si no tiene acceso de root, entonces debe seguir las instrucciones dadas aquí para instalar un módulo Perl.

2.2 Cómo utilizarlo:

El siguiente comando puede ser usado para convertir Microsoft Excel a csv:

xls2csv -x «Path_of_Your_XLS_File» -b cp1252 -w WorkSheetName -c «Path_of_Your_CSV_File» -a 8859-1

Las opciones x y c (media xls y csv) se utilizan para especificar los archivos de entrada y salida, mientras que b y a (media antes y después) se utilizan para especificar la codificación de caracteres correspondiente. Hemos utilizado la misma codificación de caracteres que en la herramienta anterior.

2.3 Pros y contras:

Pros : Bueno con conversión de caracteres de Europa occidental y campos de fecha, soporta conversión selectiva de múltiples hojas,

Contras : Es necesario instalar varios módulos Perl, la primera celda no debe estar vacía (de lo contrario se salta toda la fila), se enreda con las comillas

Hay un par de otras maneras también. Algunos scripts en Python y Java también están disponibles para su uso, pero no son tan buenos como los dos que se comentan aquí. Espero que el artículo resuelva tu problema. Las preguntas y sugerencias son siempre bienvenidas. Cheers

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

Entendiendo las tuberías y la redirección para la línea de comandos de Linux

Dos potentes características del shell de la línea de comandos de Linux son la redirección y las tuberías que permiten que la salida (o incluso la entrada) de un programa se envíe a un archivo o a otro programa. Es posible que ya haya utilizado estas funciones sin ser consciente de ello. Siempre que se ha utilizado el signo «>» en un comando o «|» entonces se ha utilizado la ...

Linux

Usar Pianobar para escuchar Pandora desde la línea de comandos de Linux

Si eres uno de esos geeks de la línea de comandos a los que les gusta escuchar música mientras trabajan, te encantará saber que también se puede acceder a Pandora, el popular servicio de radio por Internet, a través de la línea de comandos. Existe una línea de comandos de código abierto cliente de Pandora con el nombre de Pianobar , que lo hace posible. La aplicación de línea de comandos proporcio ...

Linux

Cambiar fácilmente el tema de salpicadura sin ir a la línea de comandos[Ubuntu]

El tema de plymouth fue introducido en Ubuntu Lucid para proporcionar una mejor solución temática para el tema de splash. Con plymouth, se puede usar una imagen de alta resolución como fondo y también hacer que muestre animación. Lo único que desanimará a muchos novatos es que el tema sólo se puede cambiar usando la línea de comandos. Esto es hasta que Zorin Splash Screen Manager aparezca. Zorin S ...

Linux

Administre su iPod a través de la línea de comandos con GNUpod[Linux].

Si recuerdas el comienzo del iPod, probablemente también recordarás que fue una pesadilla para Linux. Apple requería iTunes en tu ordenador, y sólo funcionaba para Mac y Windows (con un rendimiento terrible). Hoy en día, el problema de compatibilidad está resuelto y hay una gran cantidad de opciones disponibles para sincronizar la música en el dispositivo. Entre otros, los más populares son Rhythm ...

Linux

Cómo tratar con archivos desde la línea de comandos[Linux]

Hay muchas soluciones gráficas para tratar con archivos comprimidos (o archivos comprimidos) en Linux, pero ninguna de ellas supera a la línea de comandos por su velocidad y versatilidad. Lo único malo de esto es que hay tantos tipos diferentes de archivos, cada uno con su propia sintaxis y propiedades específicas, y puede llegar a ser muy difícil tratar con todos ellos sin un poco de preparación. ...

Linux

Cómo administrar usuarios desde la línea de comandos en Linux

Una de las responsabilidades centrales de la administración de Linux es la gestión de usuarios. Mediante el uso de la línea de comandos, la creación de usuarios puede realizarse de forma remota o programática. Una vez que haya creado un usuario, podrá agregarlo a los grupos o concederle privilegios ampliados. Además, usted puede mantener un registro de auditoría de lo que se ha hecho en su servido ...

Linux

3 maneras fáciles de enviar correos electrónicos desde la línea de comandos en Linux

Mientras trabaja con la línea de comandos, hay ocasiones en las que puede enviar manualmente un correo electrónico para comunicar información de un solo renglón, por ejemplo, un comando complejo o una nota importante para usted o para un amigo. Normalmente, esto requiere que abra un navegador web, inicie sesión en su cuenta de correo electrónico, enmarque un mensaje de correo electrónico que conte ...

Linux

¿Qué es GREP en Linux y cómo se usa?

Grep es un pequeño programa de Unix para encontrar patrones coincidentes. Iniciado como un programa Unix, se puede encontrar tanto en Linux como en Mac y BSD. Puede leer casi cualquier texto, lo que significa que puede leer las entradas de otros comandos, o puede abrir y revisar los archivos directamente. Grep es increíblemente útil, especialmente para mirar a través de directorios desde la línea ...

Linux

En profundidad, vea los comandos de compresión y archivo de Linux

La necesidad de empaquetar y comprimir archivos juntos en un solo archivo ha existido desde que los ordenadores obtuvieron los primeros discos duros, y esa necesidad se ha mantenido hasta el día de hoy. La mayoría de los usuarios de ordenadores están familiarizados con los archivos.zip, pero los archivos son mucho más que el humilde.zip. En este tutorial, le mostraremos los diferentes comandos de ...

Linux

Olvídese de los clientes de correo, envíe correo electrónico desde la línea de comandos[Linux].

Enviar un correo electrónico es algo que a menudo no tienes que pensar dos veces. Simplemente encienda su cliente de correo electrónico, ya sea basado en la web o en el escritorio, escriba un mensaje, introduzca la dirección de correo electrónico del destinatario y haga clic en «Enviar». ¿Qué sucede si es necesario que envíe correo electrónico desde la línea de comandos, por ejemplo, par ...