Il file CSV si apre con i dati in una singola colonna (Microsoft Excel)
Jan utilizza un programma per creare un file CSV. Questo file può quindi essere aperto in Excel per ulteriori analisi. Quando Jan fa doppio clic sul file CSV in Windows, Excel si avvia e quindi carica il file. Il problema è che il file, una volta aperto, non viene analizzato da Excel. Invece dei valori separati da virgole in colonne diverse, ogni record viene visualizzato in una singola colonna.
La ragione di questo comportamento è probabilmente abbastanza semplice e ha a che fare con il formato in cui i dati vengono memorizzati nel file CSV dal programma non Excel. Per capirlo, è fondamentale capire come Excel apre i file CSV.
Quando apri un file CSV in Excel (facendo doppio clic in Windows o utilizzando File | Apri in Excel), il programma considera tutte le virgole nel file come delimitatori. Questo ha senso; dopotutto, il file dovrebbe contenere valori separati da virgole (CSV). Non è possibile ignorare questo filtro automatico quando si apre il file.
Quindi, in che modo Excel tratta i dati in arrivo? Considera, per un momento, se il file CSV contiene i seguenti quattro record:
a,b,c,d,e "a,b,c,d",e a,"b,c",d,e "a,b,c,d,e"
Per quanto riguarda Excel, il primo record ha cinque campi, separati da virgole. Il secondo record ha solo due campi, “a, b, c, d”
e “e.” L’inclusione delle virgolette attorno a “a, b, c, d” fa sì che Excel consideri la stringa come un’unità discreta. In altre parole, Excel ignora le virgole che potrebbero essere visualizzate tra le virgolette.
Dato l’effetto che hanno le virgolette, puoi probabilmente capire come Excel interpreta il terzo e il quarto record. In questo caso, il terzo record ha solo quattro campi e il quarto record viene interpretato in modo da avere un solo campo.
Cosa ha a che fare con il file CSV che sembra caricarsi in modo errato? È molto probabile che il programma che crea il file CSV inserisca una coppia di virgolette attorno a ciascun record. Ciò farebbe sì che tutto il record venga trattato come un singolo campo da Excel, il che significa che finisce in una singola colonna quando viene caricato il file CSV.
Ci sono un paio di modi per verificarlo. Il primo è semplicemente aprire il file CSV con Blocco note e guardare ogni record. (Fare clic con il pulsante destro del mouse sul file CSV in Windows, scegliere Apri con | Scegli programma, quindi selezionare Blocco note.)
Un altro modo è rinominare il file CSV in modo che la sua estensione non sia .csv ma .txt. Quando scegli di aprire questo file in Excel, viene avviata l’Importazione guidata testo. Scegli Delimitato, fai clic su Avanti, quindi puoi vedere quali delimitatori sono stati scelti. Prestare attenzione al qualificatore del testo; se lo modifichi, puoi immediatamente vedere in fondo alla finestra di dialogo come Excel interpreta i record del file.
Se trovi che ci sono virgolette extra attorno a ogni record nel file CSV, ci sono tre cose che puoi fare. Il primo è cambiare il programma che crea il file CSV in modo che non aggiunga le virgolette extra: sarai quindi in grado di importare senza problemi. Il secondo è andare avanti e caricare il file CSV in Excel, in modo che ogni record sia nella colonna A. Nota che le virgolette circostanti sono sparite, eliminate dal processo di importazione. Ciò significa che ora puoi utilizzare la procedura guidata Testo in colonne per separare i dati nella colonna A in singole colonne.
Infine, la terza cosa che puoi fare è creare una macro che aprirà il file CSV e lo analizzerà per te. Ciò è particolarmente utile se nel tempo verranno aperti molti file CSV che hanno lo stesso identico formato. La tua macro potrebbe essere elaborata come desideri, anche formattando le colonne e elaborando i dati mentre vengono importati. Modi per creare macro come questa si trovano in altri numeri di ExcelTips.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (3002) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: