Come visualizzare correttamente i file .csv in Excel 2013?


190

Sembra che Excel 2013 non legga correttamente i file CSV (Excel 2010 lo fa). Ogni volta che apro i file .csv, tutti i miei dati vengono visualizzati nella prima colonna.

So che posso andare a DATA, Converte quindi scegliere commas, ma questa configurazione non viene salvata e sono stufo di farlo ogni volta che apro questo tipo di file.

Come posso impostare Excel 2013, una volta per tutte, per visualizzare prontamente i file CSV (separati da virgola)?


1
Quando apri il file appare qualche messaggio?
Andre Silva,

No. Nessun messaggio appare
David

La mia esperienza è se il file ha una riga di intestazione, Excel 2013 passerà automaticamente attraverso la procedura guidata di importazione. Senza quella riga di intestazione, mostra tutto come una singola colonna per riga.
StarPilot,

Risposte:


401

Apri il file CSV con un editor di testo decente come Notepad ++ e aggiungi il testo seguente nella prima riga:

sep=,

Ora aprilo di nuovo con Excel.

Questo imposterà il separatore come una virgola, oppure puoi cambiarlo in qualsiasi cosa tu abbia bisogno.


3
La migliore soluzione, ma non quella che mi aspettavo. Questa impostazione non proviene da Excel stesso, ciò significa che devo scrivere questa riga sopra su tutto il mio file CSV.
David,

31
Il fatto che questo non sia standard, nessuna applicazione che scrive CSV aggiunge questa riga e solo Excel (per quanto ne so) lo accetta. Rende questa una soluzione scadente nella migliore delle ipotesi. Per non parlare del fatto che questo non funziona con Excel 2007 (il migliore che abbiamo qui al lavoro)
jmarkmurphy,

21
Non stiamo parlando di standard. Stiamo parlando di Microsoft Excel. Excel viene fornito con diverse configurazioni e tasti di scelta rapida a seconda della lingua. Questo rende l'importazione di un file CSV un puzzle. Questa è semplicemente una soluzione alternativa e credo che aiuti molte persone, principalmente utenti esperti, sebbene non sia la risposta migliore.
Guilherme Viebig

10
È necessaria una soluzione che non implichi l'aggiunta di righe al file, in quanto ciò interrompe altre cose che devono utilizzare il file. Inoltre, ho già provato la soluzione delle impostazioni regionali, ma le impostazioni erano già come indicato ed Excel sta ancora mettendo tutto nella prima colonna.
Elliot,

2
Questo mostra la linea se si apre il CSV in Libreoffice Calc. Funziona bene in MS Excel però.
Arda,


38

Il problema proviene dalle Opzioni regionali. Il separatore decimale nella vittoria 7 per i paesi europei è il coma. Devi aprire il Pannello di controllo -> Opzioni internazionali e della lingua -> Impostazioni aggiuntive -> Separatore decimale: fai clic per inserire un punto (.) E per Separatore elenco inserisci un coma (,). Questo è !


5
Questo non funziona. Ho questo set come indicato e viene ignorato. Tutto è fino alla prima colonna.
Elliot,

1
Incredibile: questo ha aiutato un collega che stava usando Office 2011. Abbiamo impostato la sua regione dalla Polonia (che usa "," come separatore decimale) nel Regno Unito e questo è stato risolto. Perché questo dovrebbe fare la differenza non ho idea ...
John

3
Questa soluzione funziona per me (Excel 2013). Adeguo il mio formato regionale: imposto un punto (.) Come "separatore decimale", una virgola (,) come "separatore mille" e una virgola (,) come "separatore elenco"
cesargastonec

1
Sto usando il formato predefinito "Inglese (Canada)" di Windows 10 che normalmente visualizza correttamente il file CSV (separato da colonna) quando apro il file usando Excel 2013-2016. Di recente ho notato, dopo aver riaperto un file CSV, che una delle mie applicazioni stava cambiando il formato di numerazione predefinito. Come specificato qui, dopo essere tornato al punto (.) Come "separatore decimale" e virgola (,) come formato di numerazione "separatore elenco", il file CSV è stato visualizzato correttamente. Non è necessaria una soluzione alternativa che coinvolga l'hacking della prima riga del file CSV con il blocco note per aggiungere "sep =,"
JP slash otterlover

1
Finalmente! Dopo aver provato per molti minuti più di quanto dovrei sostituire con regex in Notepad ++ il separatore, il punto decimale / virgola e non i caratteri tra virgolette ecc., Mi è stato ricordato questa risposta e ho semplicemente impostato le impostazioni della lingua in modo diverso, come indicato qui. Ora separa correttamente le colonne e anche i numeri appaiono correttamente, senza incasinare alcun testo.
Fabian Röling

25

So che una risposta è già stata accettata, ma un elemento da verificare è la codifica del file CSV. Ho uno script Powershell che genera file CSV. Per impostazione predefinita, li stava codificando come UCS-2 Little Endian (per Notepad ++). Avrebbe aperto il file in una singola colonna in Excel e avrei dovuto fare la conversione da testo a colonne per dividere le colonne. La modifica dello script per codificare lo stesso output di "ASCII" ( UTF-8 senza BOM per Notepad ++) mi ha permesso di aprire il CSV direttamente con le colonne divise. Puoi modificare la codifica del CSV anche in Notepad ++ .

  • Codifica menu > Converti in UTF-8 senza distinta componenti
  • Salva il file CSV
  • Apri in Excel, le colonne dovrebbero essere divise

3
Apprezzo questa risposta Mi piace usare quello Some-Command | Out-File -Encoding Defaultche di solito dà la corretta codifica ANSI (impostazione di fabbrica almeno negli Stati Uniti).
Mister_Tom,

Quindi se non specifichi la codifica, Out-Filecodifica il file come qualcosa di diverso Defaultda quello predefinito? Sto cercando di capire che ... è predefinito ... ma non utilizzato per impostazione predefinita ... e quindi non predefinito?
jdgregson,

L'uso di "-Encoding Default" lo ha risolto per me. Grazie!
Kirk Liemohn,

21

Puoi scegliere quale separatore vuoi in Excel 2013 Vai a DATI -> Testo in colonne -> Scegli delimitato -> quindi scegli il separatore "Scheda, Punto e virgola, Virgola, Spazio o altro" e vedrai immediatamente le modifiche nell'anteprima dei dati "quindi fai clic su Finisci

Una volta ottenuto il formato desiderato, è sufficiente salvare il documento e sarà permanente.


2
Questo non affronta la domanda principale. Abbiamo bisogno che questo sia un comportamento predefinito per tali file, non per risolverlo in un file specifico.
Elliot,

17

Tratto da /superuser/238944/how-to-force-excel-to-open-csv-files-with-data-arranged-in-columns

Il comportamento di Excel quando si aprono file CSV dipende fortemente dalle impostazioni locali e dal separatore di elenco selezionato in Regione e lingua » Formati » Avanzate . Per impostazione predefinita Excel supporrà che ogni CSV sia stato salvato con quel separatore. Il che è vero finché il CSV non proviene da un altro paese!

Se i tuoi clienti si trovano in altri paesi, potrebbero vedere altri risultati, quindi pensi.

Ad esempio, qui vedi che un Excel tedesco utilizzerà il punto e virgola anziché la virgola come negli Stati Uniti

Impostazioni regionali


> Questa soluzione funziona per me (Excel 2013). Adeguo il mio formato regionale: imposto un punto (.) Come "separatore decimale", una virgola (,) come "separatore mille" e una virgola (,) come "separatore elenco" - cesargastonec 13 luglio 15 alle 16: 05
Alex78191,

1
Oppure puoi modificare il separatore decimale nelle opzioni di Excel superuser.com/a/1470373
Alex78191

4

Un altro possibile problema è che il file CSV contiene un contrassegno di ordine byte "FEFF". Il contrassegno dell'ordine dei byte ha lo scopo di rilevare se il file è stato spostato da un sistema usando l'ordinamento di byte big endian o little endian in un sistema di endianness opposto. https://en.wikipedia.org/wiki/Byte_order_mark

La rimozione del contrassegno dell'ordine dei byte "FEFF" mediante un editor esadecimale dovrebbe consentire a Excel di leggere il file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.