Come forzare Excel ad aprire i file CSV con i dati disposti in colonne


32

Genero un file CSV con estensione .csv in cui ogni dato in una riga è separato da una virgola:

1,2,3,4
1,2,3,4

Il file viene inviato via e-mail e voglio che quando un cliente lo apre veda i dati disposti in colonne.

Tale cosa è possibile?

PS: posso cambiare liberamente il delimetro.


1
Per quanto mi riguarda, non puoi fare altro che importare i dati in Excel, dal momento che Excel non può fare ipotesi sulla struttura dei dati stessi (ad esempio il separatore utilizzato, il formato dei decimali o il formato generale dei dati).
slhck,

@slhck, per favore, guarda la risposta
Timofey,

Oh, non sapevo che Excel fosse in grado di farlo. Ben fatto.
slhck,

1
Basta fare doppio clic sul file CSV, Excel verrà aperto e il file verrà visualizzato correttamente. Ho ragione?
Wilson,

@wilson: Excel deve essere associato per aprire i file .csv, quindi facendo doppio clic su un file .csv Excel verrà lanciato
Timofey,

Risposte:


10

Utilizzare la scheda anziché la virgola. E se non funziona, dai al tuo file delimitato da tabulazioni un'estensione xls.


grazie per la soluzione, ho lasciato il file .csv come estensione del file
Timofey,

non funziona per Excel 14.7.1 su Mac (2017)
Masukomi,

3
il "PS: posso cambiare liberamente il delimetro". rende questa risposta meno valida
Paul Fijma,

Questo non risponderà come caricare un file CSV, poiché C sta per virgola.
JBernardo,

@JBernardo Una volta, ma oggi troverai file con estensioni csv in natura con tutti i tipi di delimitatori: tab, pipe, virgola, trattino, @, \ 0, ecc. Giusti o sbagliati, sono là fuori e la parte della domanda che dice "Posso cambiare delimitatori" rende valida questa risposta.
Joel Coehoorn,

43

se è solo per ottenere il csv leggibile su ogni sistema, c'è un trucco non documentato: nella prima riga scrivere SEP=;. Questa riga dice a EXCEL quale personaggio usare come separatore (infatti puoi usare qualsiasi (singolo) carattere ( ;,|@#'...))

NOTA: questa riga è solo una parte del csvfile stesso. Essa non far parte del spreadsheed in Excel. ciò significa che non verrà mostrato e non verrà scritto, indipendentemente dal formato definito per la scrittura o l'esportazione.


Questo è stato un salvavita! Ha funzionato benissimo qui!
Etienne Dupuis,

soluzione migliore IMHO, come dovrebbe funzionare con tutte le lingue
mBardos

39

Il comportamento di Excel all'apertura dei file CSV dipende fortemente dalle impostazioni locali e da quelle utilizzate list separatorin Region and language » Formats » Advanced. 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 inserisci qui la descrizione dell'immagine

Per confondervi ancora di più, quell'impostazione interferisce con il simbolo decimale che può essere impostato separatamente sotto Excel Options » Advanced » Use system separatorso tramite le impostazioni regionali come mostrato sopra. Excel non può usare lo stesso simbolo della scheda decimale e del separatore di elenco. Utilizzerà automaticamente virgola o punto e virgola come separatore di backup. Leggi di più

Prenderò il tuo esempio per creare 3 file. Ognuno con un separatore diverso e aprilo con Excel.

    COMMA               SEMICOLON                     TAB 

inserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagine

Non è lo stesso di Excel? Così ho pensato.

Quindi, consente di modificare manualmente l'estensione dagli stessi file CSV in XLS e guardare cosa succede ora. In primo luogo, Excel genererà un avviso che l'estensione del file non corrisponde al contenuto e Excel tenta di indovinare cosa c'è dentro.

    COMMA        SEMICOLON                   TAB 

inserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagine

Conclusione: TAB + rinomina + ignora avviso = Vincere su ogni sistema?
Forse, ma non sarei così sicuro per i clienti al di fuori del tuo paese.

Il metodo migliore è di istruire i tuoi clienti ad aprire prima un Excel vuoto, quindi a Data » Get data from textselezionare manualmente la virgola come separatore


2
Questa risposta è fantastica ma trovo questo patetico da parte di Microsoft. Apri un csv in Numbers e si apre correttamente. Lo apri in fogli di Google e si apre correttamente. Quindi lo apri in Excel, che è l'unico per cui paghi e ... Niente. Che dire di quelli di noi che non hanno mai impostato un separatore di elenco? Ora ho bisogno di perdere tempo cercando di farlo funzionare perché "virgole" non significano nulla in questo "CSV". Molto frustrante.
Tocca il

> 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

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

1

Puoi sostituire ".csv" con ".txt", avviare Excel e aprire quel file .txt. Quindi Excel ti mostrerà un assistente in cui puoi specificare di usare "," come separatore. Quando si salva nuovamente questo file come .csv, la prossima volta che Excel lo aprirà nel modo in cui è necessario.


0

Un'altra soluzione che ho usato in questa situazione è stata l'output di un file HTML di base, anziché CSV. Excel può aprirlo senza errori. Può leggere almeno parte della formattazione nel file.


0

Questa è la risposta più stupida di sempre, ma ha funzionato. Uso i file CSV ogni giorno. Li creo sempre e visualizzo con Excel. Oggi, dopo 12 anni in cui non ho mai visto questo problema, mi è successo. Non aprirebbe un file CSV e formattare le colonne. Anche alcuni file CSV che ho creato ieri sera con Excel, si apriranno in una colonna per riga.

Soluzione: controllare il task manager per tutte le istanze aperte di Excel.exe. Uccidi tutte le istanze e prova ad aprire di nuovo il file CSV.

facepalm


0

A breve termine, se devi solo aprire un file CSV che ti è stato inviato da un altro Paese,

Apri il file nel wordpad e usa trova e sostituisci per cambiare ogni separatore utilizzato dal Paese di emissione (es.;) E sostituirlo con una virgola. (per esempio ,).

Basta controllare che il paese di emissione non utilizzi una virgola al posto di un altro simbolo (ad es. In Spagna usano una virgola in cui utilizziamo un punto decimale, quindi dovresti trovare e sostituire la virgola con un punto decimale, quindi trovare e sostituire l'altro simbolo con la virgola).

Non è una soluzione a lungo termine ma abbastanza buona da rendere leggibile il file stesso se hai fretta e non riesci ad accedere al pannello di controllo al lavoro.


0

Ho riscontrato lo stesso problema. Avevo il file CSV che Excel stava analizzando erroneamente e avevo bisogno dell'Importazione guidata.

La semplice soluzione era quella di rinominare CSV in TXT e la procedura guidata è venuta aiutando a riconoscere correttamente la struttura della colonna.


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.