Il modo più semplice per aprire CSV con virgole in Excel


196

I file CSV sono automaticamente associati a Excel ma quando li apro, tutte le righe sono sostanzialmente nella prima colonna, in questo modo:

inserisci qui la descrizione dell'immagine

Probabilmente è perché quando Excel pensa "valori separati da virgola", in realtà cerca qualche altro delimitatore (penso che sia un punto e virgola ma non è importante).

Ora, quando ho già aperto questo file in Excel, c'è un pulsante o qualcosa per dirlo "riaprire questo file e usare la virgola come delimitatore"?

So di poter importare i dati in un nuovo foglio di lavoro ecc., Ma sto chiedendo in particolare un aiuto per la situazione in cui ho già un file CSV con virgole e voglio aprirlo in Excel senza creare una nuova cartella di lavoro o trasformare il file originale.


2
Per una serie di motivi, oltre al delimitatore, è una pessima idea lasciare che Excel apra CSV (o qualsiasi altro file di testo semplice) usando le impostazioni predefinite. A seconda del file sorgente, corromperete i vostri dati. Ho scritto un articolo approfondito su questo qui: theonemanitdepartment.wordpress.com/2014/12/15/…
Wouter

4
È così difficile capire cosa debba succedere all'interno di Microsoft che Excel non riesca ancora ad aprire i file CSV in questo modo. Spezza anche numeri ecc. In modi sorprendenti. Persino JavaScript non lo converte implicitamente male.
usr

Mi dispiace per scavare gravemente .. ma c'è una buona possibilità che il fatto che la tua prima riga non abbia virgole fa smettere a Excel di provare
patricktokeeffe

Basta usare ;come delimitatore e l'apertura del file con doppio clic lo separerà in colonne in MS Excel.
Hrvoje T

Risposte:


179

Vai alla scheda Dati e seleziona il testo nelle colonne sotto gli strumenti di dati, quindi seleziona delimitato e premi il prossimo . Quindi selezionare la virgola come delimitatore e premere finish

inserisci qui la descrizione dell'immagine


55
E devi farlo ogni volta che fai doppio clic su * .csv in Esplora risorse? In qualche modo non riesco a credere che non esiste un modo più semplice, specialmente se Excel si associa all'estensione del file * .csv.
Borek Bernard,

3
Di solito dovrebbe apparire una procedura guidata che ti fa fare questo processo quando apri il file, ma se non lo è, puoi farlo in questo modo. Puoi anche andare ai dati - ottenere dati esterni - dal testo ed eseguire la procedura guidata di importazione da lì.
Raystafarian

13
Questo è il problema, non voglio importare alcun dato, sto aprendo un file CSV perfettamente valido al quale Excel si è persino associato. Ma OK, se è così probabilmente dovrò trovare qualcos'altro per modificare i file CSV.
Borek Bernard,

2
Sì, è un PITA, lo stesso qui con Excel 2003. Devo anche usare Data \ Import. In realtà non è un problema in sé, ma faccio queste importazioni solo due volte l'anno, quindi dimentico e provo regolarmente prima File / Apri
;-(

1
@gstackoverflow puoi, basta selezionare la colonna A e quindi farlo.
Tom,

162

Sistemazione:

sep=<delimeter>

poiché la prima riga del tuo file CSV dirà automaticamente ad Excel di usare quel carattere come separatore invece della virgola predefinita.

Per esempio:

sep=|
COLUMN1|COLUMN2
data,1|data2
...

comporterà l'utilizzo di pipe (|) come delimitatore anziché virgola, senza che l'utente debba prima eseguire la procedura guidata di importazione.


7
Per questo lavoro in Excel 2013, è necessario deselezionare Use system separators inOptions>Advanced
Michael campo

1
Puoi definire il separatore decimale in modo simile? Voglio che sia ., ad esempio, perché 1.5nel mio sistema .è il separatore per migliaia.
CGFoX,

2
Questo ha funzionato per me, anche se ho selezionato "Usa separatori di sistema". Nessun'altra soluzione ha funzionato per me.
timore

Confermando che funziona in Excel 2016 con "Usa separatori di sistema" selezionato. Questo è fantastico
Bas

Soluzione perfetta per uno stupido problema! (Excel dovrebbe essere in grado di riconoscere il separatore usato, o almeno me lo ha chiesto, e lasciami decidere!) Prossimo passo : è possibile forzare Excel a usare anche un altro set di caratteri? Tutti i miei CSV sono in UTF-8, ma Excel prova ad aprirli come 'Macintosh', il che mi sta creando molti problemi !!
qualificato il

51

Non so se sei riuscito a risolvere questo problema, ma ho anche avuto lo stesso problema e risolto dopo alcune indagini.

Si è scoperto che era un problema di impostazione regionale;

Vai nel tuo pannello di controllo -> Impostazioni internazionali -> Impostazioni avanzate e cambia il separatore di elenco in una virgola .

Il mio è stato impostato su punto e virgola per il Sudafrica dopo che sono stato modificato in Windows 8. Dopo averlo modificato in virgola, tutti i miei CSV si aprono correttamente con Excel 2013.

Spero che sia di aiuto.

Commento aggiuntivo:
ho usato gli stessi passaggi di Lèse majesté, ma ho anche cambiato il simbolo Decimale da una virgola (,) a un punto intero (.) E il problema è stato risolto.

Questo perché, per impostazione predefinita, Windows 8 utilizza una virgola come simbolo decimale ed Excel viene confuso quando deve utilizzare entrambi i caratteri come separatore e simbolo decimale.


Già impostato in questo modo, e ignorato da Excel. Non si separa ancora tra virgole.
Elliot,

Probabilmente richiede almeno una disconnessione, per rendere effettiva l'accesso.
Gert van den Berg,

Ha funzionato per me dopo aver cambiato il simbolo decimale, grazie!
James Cameron,

1
Bene, penso ancora che sia scandaloso che Excel usi le impostazioni regionali per come leggere un formato di file!
timore

Grazie. Questa impostazione ha risolto un grosso problema per me al lavoro. Excel è così stupido!
Moha,

19

Questo è ciò che ha funzionato per me - è una combinazione di alcune delle risposte qui.

(Nota: il mio PC utilizza impostazioni di formato ceco che formattano numeri come questo: ad 1 000,00esempio, la virgola viene utilizzata come separatore decimale e lo spazio come separatore delle migliaia. Il separatore di elenco predefinito nelle impostazioni di sistema è ;.)

  1. Ho cambiato il separatore Elenco di sistema in una virgola in Regione -> Impostazioni aggiuntive
  2. In Excel 2013, sono andato su Opzioni -> Avanzate e deselezionate Usa separatori di sistema (in "Opzioni di modifica", che è la prima sezione)
  3. Ho impostato il separatore decimale in Excel su. e il separatore delle migliaia su ,(il separatore delle migliaia probabilmente non ha importanza, ma volevo renderlo coerente con la formattazione degli Stati Uniti)

Un'alternativa ai passaggi 2 + 3 sarebbe quella di modificare queste impostazioni nelle impostazioni di sistema (passaggio 1), ma in genere desidero che i numeri siano formattati in base alle impostazioni locali ceche.

Lati negativi : in Excel, ora ho bisogno di inserire numeri decimali usando le impostazioni internazionali degli Stati Uniti, cioè usando il punto anziché una virgola. Sembra un po 'innaturale ma è un compromesso accettabile per me. Fortunatamente, il tasto virgola sul mio tastierino numerico è diventato automaticamente il tasto punto (e solo in Excel - altre app producono ancora una virgola).


Non funziona con Excel 2010 / cz :-(
Leos Literak,

@LeosLiterak: l'ho appena provato in Excel 2013 e ha funzionato.
Sk8erPeter

10

Apparentemente Excel utilizza un'impostazione regionale di Windows 7 per il delimitatore predefinito per CSV (che apparentemente è una scheda per impostazione predefinita). Puoi modificare questa impostazione in questo modo .

Tuttavia, non so quali altre ripercussioni ciò avrà. Suppongo che se tutti i file CSV sul tuo computer sono separati da virgola, non dovrebbero esserci problemi. Ma se hai un altro programma (probabilmente Microsoft) che utilizza anche file CSV e normalmente utilizza CSV formattati con un delimitatore diverso, questo potrebbe essere problematico.

Ad esempio, se, ad esempio, Outlook utilizza CSV separati da tabulazione per importare / esportare contatti e ricevi tali CSV da una fonte esterna (Gmail, un altro computer, qualunque cosa ...), quindi la modifica di questa impostazione a livello di sistema potrebbe impedire l'apertura di Outlook questi CSV separati da tabulazioni.


3
Ho provato a modificare le mie "impostazioni internazionali e della lingua"> Formati> Impostazioni aggiuntive> Separatore elenco, tuttavia, non ha avuto alcun effetto sull'apertura dei file CVS in Excel. Quindi purtroppo non è una soluzione.
Borek Bernard

2
Lo stesso qui con Excel 2010 e Windows 7. Era già, nelle mie impostazioni, ed Excel è ancora predefinito nella scheda.
rhsatrhs

Qualche idea se possiamo inserire 2 caratteri diversi in questa casella nel Pannello di controllo? Ad esempio ;,per consentire entrambi i personaggi come lista dei seaparator?
Dzhuneyt,

7

LibreOffice Calc ha un filtro csv molto avanzato che ti permette di scegliere separatori, formati e codifiche. Lavoro ampiamente con i dati in vari formati e molto spesso ho bisogno di inviare questi dati in formato Excel agli utenti. Uso LibreOffice Calc per convertire i file CSV nel formato desiderato, quindi salvo come xls.

Questo potrebbe non rispondere a come farlo facilmente in Excel ma risponde a come farlo facilmente, specialmente perché OP nei commenti suggerisce che usare qualcosa di diverso da Excel sarebbe un'opzione accettabile.


4

Excel 2010 - Oltre a convalidare le impostazioni avanzate internazionali, assicurati di controllare le impostazioni avanzate di Excel:

File -> Opzioni -> Avanzate

Assicurati che "Usa separatori di sistema" sia selezionato.


2
O, ovviamente, assicurati che non sia selezionato se desideri importare qualcosa di diverso dalle impostazioni internazionali. :-) Ma: è bello sapere che esiste questa impostazione; Non l'ho mai sentito prima.
Arjan,

1
Queste impostazioni sembrano influenzare solo i separatori numerici, non il separatore elenco.
Borek Bernard,

3

Una guida passo-passo per i perplessi:

  1. Premi il tasto Windows
  2. Digita " intl.cpl " e premi Invio.
  3. Fai clic su " Impostazioni aggiuntive ".
  4. Vai alla scheda " Numeri ":
  5. Cambia il simbolo decimale in un punto .
  6. Cambia il " Simbolo di raggruppamento delle cifre " in uno spazio .
  7. Cambia il " Separatore elenco " in una virgola .
  8. Vai alla scheda " Valuta ":
  9. Cambia il simbolo decimale in un punto .
  10. Cambia il " Simbolo di raggruppamento delle cifre " in uno spazio .

Va bene se usi sempre i tuoi file .CSV creati da te. Ma non funziona quando ottieni un file da qualcun altro che ha usato una virgola come separatore.
Stevenvh,

0

Modifica del separatore decimale in. (punto) e separatore elenco a, (virgola) hanno contribuito a mantenere CSV in visualizzazione normale in Excel nei computer norvegesi.


Anche sul mio bulgaro
Петър Петров

0

Per il mio sistema, le impostazioni erano già impostate su ciò che altri qui hanno suggerito (simbolo decimale impostato su. (Punto) e Elenco separatore impostato su, (virgola) MA avevo ancora problemi di visualizzazione durante l'importazione di un file CSV esportato da un'altra applicazione .

Dopo un po 'di tentativi ed errori, ho trovato una soluzione che apre tutti i file CSV nella vista corretta.

Ecco cosa ha funzionato per me in Excel 2013 con Windows 8:

Pannello di controllo> Orologio, lingua e regione> Regione> Impostazioni aggiuntive> Separatore elenco impostato su ,; (virgola E punti e virgola) -> fai clic su "applica" e poi vedi se funziona.


0

In Excel, scheda DATI , nella sottosezione Ottieni dati esterni , fai clic su " Da testo " e importa il tuo CSV nella procedura guidata.


0

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 DBA
  • Salva il file CSV
  • Apri in Excel, le colonne dovrebbero essere divise

ASCII e UTF-8 senza BOM non sono la stessa cosa. In realtà, ASCII si adatta perfettamente a UTF-8 senza BOM come UTF-8 ha quello coperto dallo standard. Non appena si presentano personaggi non coperti in ASCII, potrebbe invece essere emesso ANSI o UTF-8 ... Se l'output non ha mai qualcosa da ASCII, allora va bene
sinni800,

0

Con la versione più recente di Excel 2010 è possibile aprire (menu: File, Apri o control-O) un file .CSV come file di testo. Quindi, ottieni direttamente la procedura guidata, facile come con LibreOffice Calc, dove puoi selezionare il delimitatore di campo corretto.

inserisci qui la descrizione dell'immagine

Funziona solo con file con l'estensione .CSV corretta. La mia app era quella di produrre output CSV con estensione .ACC e, provando ad aprirlo in Excel con il metodo sopra, ti porta a angoli Excel completamente diversi :-(

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.