conversione file csv in xlsx con suse linux

Salve, come posso convertire un file csv in xlsx? Il sistema operativo è il seguente
NAME=“SLES”
VERSION=“12-SP2”
VERSION_ID=“12.2”
PRETTY_NAME=“SUSE Linux Enterprise Server 12 SP2”
ID=“sles”
ANSI_COLOR=“0;32”
CPE_NAME=“cpe:/o:suse:sles:12:sp2”
SUSE Linux Enterprise Server 12 (x86_64)
VERSION = 12
PATCHLEVEL = 2

Ho installato Libreoffice, ma ora non so se c’è una libreria che possa fare la conversione.

Grazie
Emanuela

Un file .csv (comma separated values) è un semplice file di testo, che contiene i dati di una tabella: un record per ogni riga, nei quali le colonne sono separate da un segno di punteggiatura, di solito una , o un ;

Per fare la conversione avvia LibreOffice ed apri normalmente il file, ti apparirà una finestra nella quale dovrai indicare qual’è il carattere che delimita i campi; basta mettere un segno di spunta sulla relativa casella.

Nella parte bassa della finestra avrai un’anteprima di come vengono suddivise le colonne a seconda delle opzioni da te selezionate.

Quando vedi che le colonne vengono divise in maniera corretta premi OK.

A questo punto avrai importato il file .csv e vedrai i dati nel foglio di calcolo. Ora puoi fare un semplice File -> Salva con nome per esportarlo in .xlsx (ovviamente devi scegliere questo come tipo di file).

Però, se non hai esigenze particolari per usare il formato .xlsx, sarebbe meglio usare il formato standard .ods

Grazie per la risposta. Forse non mi sono spiegata bene. Devo trovare una libreria che mi faccia la conversione del file csv in xlsx tramite comando Unix. La chiamata alla libreria devo inserirela in un processo batch. Grazie

Scusa non avevo capito quello che intendevi.

Da linea di comando dovrebbe essere:

soffice --headless --convert-to xlsx nome_file.csv 

Puoi anche usare caratteri jolly come *.csv per dire tutti i csv, ecc.

Da linea di comando prova a digitare soffice --help così vedi tutte le opzioni disponibili.

Dai un’'occhio anche a questa risposta in inglese, dove ci sono più dettagli sul filtro di importazione dei .csv:

Ok, grazie ancora. Allora, sono riuscita ad installare la libreria ssconvert che mi converte il file da csv a xls, ma mette tutto il file sulla prima colonna. C’è un opzione per definire il separatore che nel mio caso è il ;

Ho usato il segunete comando

ssconvert -T Gnumeric_Excel:xlsx file_prova.csv file_prova_2.xlsx

Per il comando soffice mi da errore su una libreria

soffice --help
/usr/lib64/libreoffice/program/soffice.bin: error while loading shared libraries: libgpgmepp.so.6: cannot open shared object file: No such file or directory

Grazie

strano, comunque dal gestore pacchetti di Yast2 puoi installare la libreria “libgpgmepp6” che dice di non trovare

Dopodiché, risolta quella dipendenza, stando alle risposte in inglese che ti avevo segnalato, il comando dovrebbe essere:

soffice --headless --infilter="CSV:59/44,34,UNICODE,1" --convert-to xlsx nome_file.csv 

I parametri del filtro,dipendono dalla formattazione del file, potrebbero variare.

Vedi i link presenti nella stessa risposta in inglese.