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í.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

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

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

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

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

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

Dentro de su sistema Linux o macOS, hay un archivo llamado «sudoers» que controla los niveles más profundos de su sistema de permisos. Permite o niega a los usuarios el acceso a los superusuarios y tiene algunas preferencias especiales para sudo. ¿Qué es el archivo Sudoers? El archivo sudoers es un archivo de texto que vive en «/etc/sudoers». Controla cómo funciona sudo en su m ...

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

ImageMagick es una suite de herramientas para Linux que le permite manipular imágenes desde la línea de comandos. El comando «convert» le permite realizar conversiones y transformaciones de imágenes sin embargo, hay varias otras herramientas incluidas en la suite, algunas de las cuales le permiten trabajar con los datos Exif en fotos JPEG. Es probable que su distribución de Linux ya teng ...

Linux

Cada usuario de Linux le dirá lo mismo: conozca su ordenador. El mío siempre funciona no porque no haya errores, sino porque sé lo suficiente para identificar sus fuentes cada vez y corregirlas. Y una de las mejores maneras de monitorear su sistema es a través de la línea de comandos. Hay una gran interfaz gráfica de usuario para esto, pero la línea de comandos tiene la ventaja de funcionar en tod ...

Linux

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 ...