XLSX es una extensión de formato/archivo para el formato de archivo de hoja de cálculo Open XML utilizado por Microsoft Excel. Transformar xlsx a csv (archivo separado por comas) es fácil a través de la línea de comandos. Aquí hay algunos métodos para convertir xlsx a formato csv.
Programa de hoja de cálculo Gnumeric
Es un programa basado en GNOME, una aplicación de hoja de cálculo que replica las funciones básicas de un programa comercial popular como Excel. Puede importar y exportar datos hacia y desde múltiples formatos, como CSV, Microsoft Excel, HTML, OpenDocument, Quattro Pro y LaTeX.
Para instalar Gnumeric en Linux, use el comando apt-get para instalar el repositorio de Gnumeric a través de la terminal de Linux.
$ sudo apt-get install gnumeric
Ahora para convertir el formato xlsx al formato csv usando el comando ssconvert de Gnumeric para convertir el archivo.
$ ssconvert --export-type=Gnumeric_stf:stf_csv SampleData.xlsx convert.csv
Para ver el contenido del archivo, use el comando cat para verificar el archivo csv.
convertidor xlsx2csc
Una aplicación de python para convertir archivos XLSX/XLS a formato CSV . También hay una opción para convertir una hoja específica o todas las hojas de los datos. xlsx2csv tiene una función para exportar todas las hojas a la vez.
Para instalar xlsx2csv, Python debe estar instalado en la máquina Linux.
pip install xlsx2csv
O podemos instalarlo en la terminal de Linux con la ayuda del comando apt-get ya que Kali Linux tiene el paquete preinstalado,
$ sudo apt install xlsx2csv
Ahora convierta el archivo de xlsx a csv y vea el contenido:
xlsx2csv file_name.xlsx > New_file.csv
Aquí vemos que xlsx2cv solo ha convertido una sola hoja, pero nuestra hoja tiene varias hojas, por lo que para convertirlas todas a csv, el convertidor xlsx2csv tiene muchos parámetros para convertir los archivos/hojas.
- -a, –all – exporta todas las hojas
- -d – DELIMITADOR para delimitador de columnas en csv
- -p – SHEETDELIMITER para el delimitador de hojas usado para separar hojas, pasar
- -s – SHEETID para el número de hoja a convertir
$ xlsx2csv SampleData.xlsx --all > Output.csv
Para convertir todas las hojas del archivo, ejecute el siguiente comando, al ver el contenido del archivo vemos que hay 4 hojas (hoja 1: Instrucciones, hoja 2: orden de venta, hoja 3: Número de muestra y hoja 4: mi enlace) siendo convertido de formato xlsx a csv
Herramienta csvkit
La herramienta es una biblioteca de python para trabajar con archivos csv con esto podemos manipular, organizar y analizar datos. Para usar la herramienta in2csv se ejecuta para convertir archivos. La herramienta es ligera y fácil de usar. Instale la herramienta csvkit desde la CLI de Linux usando el comando que se indica a continuación,
$ sudo apt install csvkit
Convierta el archivo xlsx a csv ejecutando el siguiente comando:
$ in2csv SampleData.xlsx > sample.csv
Ver el contenido del archivo usando el comando cat:
$ cat sample.csv
unoconv
Un programa de línea de comandos para convertir el formato de archivo de documentos de Office. También utiliza LibreOffice para realizar la conversión, donde puede importar a cualquier formato de archivo que LibreOffice sea capaz de exportar. Para la instalación en una máquina Linux, use el siguiente comando,
$ sudo apt install unoconv
Al convertir el archivo de Microsoft Excel al formato csv, ejecutamos o ejecutamos el comando que se indica a continuación, este comando es capaz de convertir muchos formatos de archivos. Esto también significa que indica el formato deseado al que queremos convertir el archivo, para mencionar el formato de salida se utilizan los siguientes parámetros.
$ unoconv -f csv -o data.csv SampleData.xlsx
opciones unoconv:
- -f, –format=formato: especifica el formato de salida
- -o, –output=name: Nombre base de salida, nombre de archivo o directorio
Ver contenido o para verificar si el archivo de salida ha convertido correctamente el archivo, usamos el comando cat
$ cat data.csv
LibreOffice sin cabeza
Un paquete que permite que LibreOffice funcione en línea de comandos con la ayuda de un indicador sin cabeza permite que la aplicación funcione sin una interfaz de usuario . Funciona convirtiendo un solo archivo o un grupo de archivos de un formato a otro. Podemos usarlo directamente desde CLI, no se requiere la instalación de LibreOffice. Indique el formato de archivo de salida (csv) que desearía obtener con el parámetro –convert-to seguido del archivo para la conversión como se hace a continuación. Después de esto, use el comando ls para verificar el archivo de salida en formato xlsx
$ libreoffice --headless --convert-to csv --outdir conv/ SampleData.xlsx
Use el comando cat para ver el contenido del archivo:
$ cat conv/SampleData.csv