Blog del Podcast
podcast      GitHub      Twitter   Telegram

Exportando a CSV desde Microsoft Excel Online, Hojas de cálculo de Google, etc

Tiempo estimado de lectura: 4 minutos. 465 palabras. bash

Quería trabajar con unos excels de Microsoft Excel Online que me habían compartido y quería integrarlos en un script en bash que he hecho para hacer unos cálculos. El script que he hecho funciona a partir de una archivo .csv, así que necesitaba exportar esas Hojas de cálculo a este formato.

Hojas de cálculo de Google, permite exportar las hojas a muchos formatos, entre ellos a .csv, digamos en cierto modo, es mucho mas abierto. Microsoft Excel Online, aunque ya permite exportar a .ods, solo permite a este formato y .xlsx.

Se que hay modos de convertir un archivo a csv, abriendo con LibreOffice y exportándolo. También se que puedo hacerlo ejecutándolo en segundo plano desde la terminal. Hay otros programas y conversores. Ninguno de los métodos deja el csv 100% limpio, columnas separadas únicamente por comas.

Me dió por hacer una prueba. Copiar el contenido de la tabla, que veo en la página web y pegarlo en un editor de texto. Al ver ese contenido desordenado en el editor, hizo que mentalmente mi cerebro corriera bash en segundo plano y con bash solucioné el problema.

Bash es la solución

Con este simple comando, dejé el contenido copiado de la página web con el ratón, en un perfecto archivo .csv El contenido de la página está en el archivo.txt

cat archivo.txt | sed "s/,/./g" | sed "s/\t/,/g" | sed "/^ *$/d"

Explicación:

Exportar a cav

Exportamos a archivo.csv el resultado filtrado por el comando

cat archivo.txt | sed "s/,/./g" | sed "s/\t/,/g" | sed "/^ *$/d" > archivo.csv

Conclusión

Como ves, una archivo que tenía que pasar por 2 programas y al final, tener que editarlo a mano para poder arreglar las comas del csv, bash me lo ha solucionado con una única línea de teminal.


Publicado por Angel el Saturday 21 September del 2019



También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.