Los archivos de Excel se pueden convertir a CSV usando:
$ libreoffice --convert-to csv --headless --outdir dir file.xlsx
Todo parece funcionar bien. La codificación, sin embargo, se establece en algo inestable. En lugar de un UTF-8 mdash (-) que obtengo si hago un "guardar como" manualmente desde LibreOffice Calc, me da un \ 227 ( ). Usar el archivo en el CSV me da "Texto ASCII extendido no ISO, con líneas muy largas". Entonces, dos preguntas:
- ¿Qué demonios está pasando aquí?
- ¿Cómo le digo a libreoffice que convierta a UTF-8?
El archivo específico que estoy tratando de convertir está aquí .
fuente
loffice --convert-to xlsx --infilter=csv:44,34,76 input.csv
trabajó para mi. Referencia .infilter
se enumeran estas opciones? El enlace publicado por @Adobe está desactualizado.--infilter
parece ser sobre el archivo de entrada y esa sería la razón por la cual el comando de @Adobe funciona (entrada CSV) y el comando del OP (entrada XLSX) no es, solo una suposición