Come aprire file CSV delimitati da punto e virgola nella versione USA di Excel


95

Quando faccio doppio clic su un file .csv, questo viene aperto in Excel. I file CSV hanno colonne delimitate da punti e virgola (non virgole, ma anche un formato valido).

Usando un'installazione tedesca di Windows / Excel, il file aperto viene visualizzato correttamente, le colonne sono separate dove erano presenti i punti e virgola nel file CSV.

Ma quando faccio lo stesso su un'installazione (US-) inglese Windows / Excel, viene importata solo una colonna, mostrando tutti i dati inclusi i punti e virgola nella prima colonna.
(Non ho una configurazione inglese disponibile per i test, gli utenti hanno segnalato il comportamento)

Ho provato a cambiare il valore del separatore di elenco nelle impostazioni internazionali di Windows, ma questo non ha cambiato nulla.

Cosa posso fare per essere in grado di fare doppio clic su quei file CSV su una configurazione inglese?

EDIT:
sembra essere la soluzione migliore per non fare affidamento sui file CSV in questo caso. Speravo che ci fosse un po 'di formattazione per i file CSV che rende possibile usarli a livello internazionale.
La soluzione migliore sembra che passerò alla creazione di file XLS.


1
Puoi raccomandare ai tuoi utenti di usare LibreOffice Calc : gestisce CSV con separatori arbitrari.
naught101

Risposte:


1

Quei file sono distribuiti? scaricato? Generato localmente?

Penso che il modo unico di risolvere il tuo problema senza l'accesso al PC dell'utente e senza che debba fare qualcosa di diverso di "doppio clic" sul file sia quello di convertire i file in .xls prima di distribuire o posizionare per scaricare o generare un .xls (o un altro formato che funziona) invece di un file .csv. Puoi farlo con uno script o manualmente con un Excel funzionante, a seconda del numero di file e del modo in cui sono generati.


sì, penso che sia il modo migliore per creare direttamente file XLS. Speravo che ci fosse un po 'di formattazione per i file CSV che li rende utilizzabili a livello internazionale, ma se ciò non fosse possibile, i file XLS funzioneranno ovunque.
Holgerwa,

8
Come è questa la risposta corretta, è inutile.
Stevie G,

Risposta terribile - vedi l'altra risposta votata.
jmc

203

Aggiungi questo sulla prima riga del file CSV:

sep=;

o

sep=,

Ciò sovrascriverà l'impostazione di sistema ("carattere separatore elenco") ed Excel aprirà il file correttamente.


4
+1 ha fatto questo in Excel 2010 e ha funzionato perfettamente.
N Reed,

8
C'è un elenco di altre impostazioni simili? Dire ad Excel di usare, dato che il separatore decimale di solito si accompagna a dirgli di usarlo; come separatore di colonne.
ZweiBlumen,

5
Funziona perfettamente con Excel, ma tieni presente che potrebbe non essere supportato in altri fogli di calcolo o programmi di dati. Potrebbe trattarsi solo di un piccolo problema, che mostra semplicemente una prima riga aggiuntiva con sep=o sep=;in essa, ma alcuni programmi o script automatici potrebbero non aspettarsi la prima riga aggiuntiva, con conseguente intestazione delle colonne o sep=;interpretazione della riga stessa come dati effettivi.
Sygmoral,

5
Stai attento con questo. Se si salva in Excel, sarà: - Rimuovere le specifiche del separatore - Salvare con il separatore delle impostazioni regionali
Bjinse

1
Può confermare fwrite($fileHandle, 'sep=,' . "\r\n");completamente risolto il problema con fputcsvin PHP.
h2ooooooo,

26

È possibile utilizzare l'Importazione guidata testo. Questo non funziona con un doppio clic sull'apertura, ma è il migliore che riesco a inventare e che non comporta problemi con le impostazioni di lanugage.

In Excel 2003 vai a Data-> Import External Data-> Import Datasulla barra dei menu (non posso dire dove si trova nel 2007, al momento non ce l'ho a portata di mano). Trova e seleziona il tuo file CSV.

Quando si apre si ottiene il Text Import Wizard, che consente di specificare i delimitatori da utilizzare.


In Outlook 2007 è arrivato alla scheda Dati e selezionare la colonna e fare clic sul pulsante Testo in colonne sui set di Strumenti dati.
Hondalex,

1
Sì, questa è una soluzione. Sfortunatamente, gli utenti che hanno bisogno di guardare i dati non sono disposti a farlo. Possono gestire un "doppio clic-apertura", ma non saranno in grado di fare nulla di più complicato. Abbiamo cercato di educarli almeno un po ', ma si rifiutano.
Holgerwa,

1
@Holgerwa - è possibile eseguire i file attraverso una sorta di processo di conversione prima di consegnarli agli utenti? O devono rimanere delimitati da punti e virgola? Altri lo hanno suggerito, ma dovrebbe essere abbastanza facile scambiare punti e virgola con virgole usando una sorta di script (sconsiglioi di trovare / sostituire perché non vuoi convertire quelli tra virgolette).
DMA57361,

6

Vedi questo articolo:
Problemi con l'apertura di file CSV con Excel? La virgola e punto e virgola problema in Excel a causa delle impostazioni regionali per l'Europa

Che offre 3 soluzioni:

  • Cambia l'estensione del file CSV in TXT (quando apri un file TXT con Excel avvierà la procedura guidata di importazione dei file di testo in cui puoi scegliere il delimitatore)
  • Sostituisci tutto “,” con “;” nei tuoi file CSV
  • Modifica le impostazioni internazionali e della lingua

Poiché hai modificato il valore del separatore di elenco solo nelle impostazioni internazionali di Windows, noto che l'articolo dice di inserire "." Per Decimal Symbole "," per List Separator.

Se ti senti a tuo agio con VBA, vedi:

Apertura del file CSV delimitato da punto e virgola con VBA in Excel 2000
Esportazione e importazione di testo con Excel


Sono d'accordo, tutte le opzioni valide, ma sfortunatamente, non sono in una situazione normale con gli utenti di questi file CSV. .TXT-import non funzionerà (vedi il mio commento sulla risposta di DMA57361), la sostituzione dei punti e virgola con virgole non funzionerà a causa di problemi con il separatore decimale e la modifica delle impostazioni regionali non funzionerà perché non ho accesso al PC utilizzati. Gli utenti faranno semplicemente doppio clic sui file e se non ottengono ciò che si aspettano, si lamenteranno e si rifiuteranno di aiutare a risolvere il problema.
Holgerwa,

@Holgerwa: se non controlli i PC degli utenti, non c'è nulla che tu possa fare. Perché il mio altro suggerimento sarebbe quello di cambiare il gestore in estensione .csv per essere il tuo programma, che correggerà (ma in modo intelligente) i delimitatori e chiamerà Excel.
harrymc,

@Holgerwa: si prega di notare la mia modifica sopra per quanto riguarda le impostazioni regionali.
harrymc,

3

Il modo migliore che ho provato è di configurare le impostazioni internazionali del tuo computer come di seguito:

  • in "Standard e formati" selezionare "Inglese (Stati Uniti)";
  • nelle "Sedi" selezionare "Stati Uniti".

Funziona per me, provalo.


In realtà, il problema del PO è l'opposto. Dovrebbe passare a una regione europea per ottenere la virgola come simbolo decimale e quindi il punto e virgola sarà il separatore dell'elenco.
yosh m

0

Se non ci sono altre virgole nel file, puoi semplicemente fare una ricerca / sostituzione in un editor di testo sui punti e virgola per trasformarle in virgole. Tratta come un normale file CSV dopo quello.


Questi file CSV devono funzionare in diversi paesi (impostazioni internazionali) e in molte impostazioni internazionali la virgola è il separatore decimale anziché il punto. Un file "standard" con valori separati da virgola non funzionerà. Immagino sia questo il motivo per cui i punti e virgola sono stati aggiunti come delimitatore valido per i file CSV.
Holgerwa,
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.