Sommario
CSV non si apre correttamente in Excel? Il tutorial analizza i problemi tipici e fornisce le soluzioni più efficaci.
Il formato CSV è comunemente utilizzato per l'importazione/esportazione di dati tra vari programmi di fogli di calcolo. Il nome CSV (comma separated values) implica l'uso della virgola per separare i campi di dati, ma questo è in teoria. In pratica, molti cosiddetti file CSV separano i dati utilizzando altri caratteri, come il punto e virgola o le tabulazioni. Alcune implementazioni racchiudono i campi di dati in virgolette singole o doppie, mentrealtri richiedono un contrassegno di ordine dei byte (BOM) Unicode, ad esempio UTF-8, per una corretta interpretazione di Unicode. La mancanza di uno standard genera diversi problemi nelle conversioni da CSV a Excel.
Il file CSV si apre in una colonna in Excel
Sintomi Quando si apre un file csv in Excel, tutti i dati appaiono in una singola colonna.
Causa Per dividere i dati in colonne, Excel utilizza il separatore di elenco impostato nelle impostazioni regionali di Windows, che può essere una virgola (in Nord America e in alcuni altri paesi) o un punto e virgola (nei paesi europei). Quando il delimitatore utilizzato in un particolare file .csv differisce dal separatore predefinito, il file si apre in una colonna.
Soluzioni Esistono diverse soluzioni possibili per questo caso, tra cui le macro VBA o una modifica globale delle impostazioni di Windows. Vi mostreremo come risolvere rapidamente il problema senza modificare il separatore di elenchi predefinito sul vostro computer, in modo che nessuna delle vostre applicazioni ne risenta.
Modifica del delimitatore nel file CSV
Affinché Excel possa leggere CSV con un separatore diverso, è possibile definire il delimitatore direttamente nel file. Per farlo, aprire il file con un qualsiasi editor di testo (Notepad andrà benissimo) e aggiungere il testo seguente nella prima riga. Si noti che deve essere una riga separata prima di qualsiasi altro dato:
- Per separare con la virgola: sep=,
- Per separare con il punto e virgola: sep=;
Allo stesso modo, è possibile impostare qualsiasi altro separatore personalizzato: basta digitarlo dopo il segno di uguaglianza.
Dopo aver definito un separatore appropriato, è possibile aprire il file nel modo consueto, da Excel stesso o da Esplora risorse.
Specificare il delimitatore quando si importa un file CSV in Excel
Invece di aprire un file csv in Excel, importatelo utilizzando l'Importazione guidata testo (in tutte le versioni) o Power Query (in Excel 365 - 2016).
La procedura guidata di importazione del testo ( Dati scheda> Da Testo ) offre alcune scelte per i delimitatori nel passaggio 2. Generalmente si sceglie:
- Virgola per i file con valori separati da virgola
- Scheda per i file di testo
- Punto e virgola per i file di valori separati da punto e virgola
Se non si è sicuri del separatore contenuto nei dati, provare diversi delimitatori e vedere quale funziona correttamente nell'anteprima dei dati.
Quando si crea una connessione a Power Query, è possibile scegliere il delimitatore nella finestra di dialogo Anteprima:
Per le istruzioni dettagliate passo-passo, consultate gli esempi sopra linkati.
Dividere le celle utilizzando la funzione Testo in colonne
Nel caso in cui i dati siano già stati trasferiti in Excel, è possibile separarli in diverse colonne utilizzando l'opzione Testo in colonne In sostanza, funziona come la procedura guidata di importazione del testo: si seleziona un delimitatore e si Anteprima dei dati riflette le modifiche al volo:
Per maggiori dettagli, vedere Come dividere le celle in Excel.
Come mantenere gli zeri iniziali in Excel CSV
Sintomi. Alcuni valori del file csv contengono zeri iniziali. Quando il file viene aperto in Excel, gli zeri precedenti vengono persi.
Causa Per impostazione predefinita, Microsoft Excel converte i file csv nel formato Generale che elimina gli zeri iniziali.
Soluzione Invece di aprirlo, importare il CSV in Excel e selezionare la voce Testo per le colonne problematiche.
Utilizzo della procedura guidata di importazione del testo
Per iniziare Importazione guidata del testo automaticamente, cambiare l'estensione del file da .csv a .txt, quindi aprire il file di testo da Excel. Oppure attivare la funzione Da testo (Legacy) e iniziare a importare CSV in Excel.
Nel passaggio 3 della procedura guidata, selezionare la colonna contenente i valori con gli zeri iniziali e modificarne il formato in Testo Importa i valori come stringhe di testo, mantenendo tutti gli zeri iniziali al loro posto.
Utilizzo di Power Query
Se si preferisce importare un file csv in Excel collegandosi ad esso, esistono due modi per mantenere gli zeri iniziali.
Metodo 1: Importare tutti i dati in formato testo
Nella finestra di dialogo dell'anteprima, in Rilevamento del tipo di dati , scegliere Non rilevare i tipi di dati Il contenuto del file csv verrà caricato in Excel come testo e tutti gli zeri iniziali verranno mantenuti.
Nota: questo metodo funziona bene se il vostro file contiene solo testo Se ci sono diversi tipi di valori, utilizzare il metodo 2 per definire un formato appropriato per ogni singola colonna.
Metodo 2: Impostare il formato per ogni colonna
Quando il file csv contiene diversi tipi di dati, come testo, numeri, valute, date e orari, è possibile indicare esplicitamente il formato da utilizzare per ogni particolare colonna.
- Sotto l'anteprima dei dati, fare clic su Trasformare i dati .
- Nell'Editor di Power Query, selezionare la colonna in cui si desidera mantenere gli zeri precedenti e fare clic su Tipo di dati > Testo .
- Chiudere e caricare - Questo caricherà i risultati in un nuovo foglio della cartella di lavoro corrente.
- Chiudere e caricare A... - consente di decidere dove caricare i risultati.
Suggerimento: questi metodi possono anche impedire altre manipolazioni dei dati che Excel tenta di eseguire automaticamente. Ad esempio, se i dati importati iniziano con "=", Excel cercherà di calcolarli. Applicando il metodo Testo indica che i valori sono stringhe e non formule.
Come risolvere i problemi di formato della data CSV in Excel
Sintomi. Dopo la conversione di CSV in Excel, le date sono formattate in modo errato, i giorni e i mesi sono scambiati, alcune date sono cambiate in testo e alcuni valori di testo sono formattati automaticamente come date.
Causa Nel file csv, le date sono scritte in un formato diverso da quello predefinito del sistema operativo, per cui Excel non riesce a interpretarle correttamente.
Soluzione A seconda del problema che dovete affrontare, provate una delle seguenti soluzioni.
I giorni e i mesi sono confusi
Quando i formati di data nelle impostazioni regionali di Windows e nel file csv sono diversi, non c'è modo per Excel di determinare che mm/dd/yy Le date cercate sono memorizzate nel file gg/mm/aaaa In questo caso, le unità di misura del giorno e del mese sono invertite: 3 gennaio diventa Mar-1 , Gennaio-10 diventa Ottobre-1 e così via. Inoltre, le date successive a Gennaio-12 sono convertiti in stringhe di testo perché non esistono tredicesimi, quattordicesimi, ecc.
Affinché le date siano importate correttamente, eseguire l'Importazione guidata testo e selezionare la voce appropriata. Data formato al punto 3:
Alcuni valori vengono convertiti in date
Microsoft Excel è stato progettato per facilitare l'inserimento di vari tipi di valori. Pertanto, se Excel ritiene che un dato valore rappresenti una data, viene formattato automaticamente come una data. Ad esempio, la stringa di testo aprile23 assomiglia molto a 23 aprile , e 11/3 assomiglia 3 novembre , quindi entrambi i valori vengono convertiti in date.
Per evitare che Excel modifichi i valori di testo in date, utilizzate l'approccio già noto: convertite il CSV in Excel importandolo. Al passo 3 del programma Importazione guidata del testo , selezionare la colonna problematica e cambiarne il formato in Testo .
Le date sono formattate in modo errato
Quando si apre un file csv in Excel, le date vengono normalmente visualizzate nel formato predefinito. Ad esempio, nel file originale, si potrebbe avere 7-maggio-21 o 05/07/21 , mentre in Excel appare come 5/7/2021 .
Per visualizzare le date nel formato desiderato, utilizzare l'opzione Formattare le celle caratteristica:
- Selezionare la colonna di date.
- Premere Ctrl + 1 per aprire la finestra Formattare le celle finestra di dialogo.
- Sul Numero selezionare la scheda Data sotto Categoria .
- Sotto Tipo , scegliere la formattazione desiderata.
- Fare clic su OK.
Se nessuno dei formati preimpostati fa al caso vostro, potete crearne uno personalizzato come spiegato in Come creare un formato di data personalizzato in Excel.
Impedire a Excel di convertire i numeri in notazione scientifica
Sintomi. Dopo la conversione di CSV in Excel, i numeri lunghi vengono formattati come notazione scientifica, ad esempio 1234578900 viene visualizzato come 1,23E+09.
Causa In Microsoft Excel, i numeri sono limitati a 15 cifre di precisione. Se i numeri nel file csv superano questo limite, Excel li converte automaticamente in notazione scientifica per conformarsi a tale limite. Se un numero contiene più di 15 cifre significative, tutte le cifre "extra" alla fine vengono trasformate in zeri.
Soluzione Importare numeri lunghi come testo o modificare il formato dei numeri direttamente in Excel.
Importazione di numeri lunghi come testo
Per trasferire con precisione i grandi numeri da CSV a Excel, eseguire il comando Importazione guidata del testo e impostare il formato delle colonne di destinazione su Testo .
Questa è l'unica soluzione reale per importare con precisione stringhe numeriche senza perdere i dati, cioè senza sostituire la sedicesima e le successive cifre con degli 0 o senza rimuovere gli zeri iniziali. Funziona benissimo per voci come ID prodotto, numeri di conto, codici a barre e simili.
Tuttavia, se i valori sono numeri e non stringhe, non è il metodo migliore, poiché non è possibile eseguire calcoli sui valori di testo risultanti.
Questo metodo vi aiuterà anche a prevenire altre formattazioni automatiche indesiderate dei dati durante la conversione di un file CSV.
Cambiare il formato dei numeri in Excel
Se i dati sono già in Excel, è possibile modificare il formato da Generale a Testo o Numero come mostrato di seguito:
Nota: questo metodo non ripristina gli zeri precedenti eliminati o le cifre dopo la 15ª posizione che sono state sostituite con zeri.
Per ulteriori informazioni, vedere Come formattare le celle in Excel.
Allargare la colonna
Nel caso più semplice, quando un numero contiene meno di 15 cifre, è sufficiente allargare un po' la colonna per ottenere una visualizzazione normale dei numeri.
Per maggiori dettagli, vedere Come ridimensionare e adattare automaticamente le colonne in Excel.
Ecco come risolvere i problemi più comuni che possono verificarsi con le conversioni da CSV a Excel. Grazie per la lettura e alla prossima settimana!