Importare CSV in Excel

Spesso può essere utlie importare in Excel dei dati provenienti da file di testo; per esempio, quando dobbiamo acquisire la rubrica di Outlook o di Thinderbird. In genere, i programmi di posta eletronica esportano in formato CSV (Comma Separated Values); questi file sono come delle tabelle in cui i record sono inseriti uno per riga ed i campi sono separati dalla virgola. I file CSV possono quindi essere aperti e modificati con qualsiasi editor di testo, compreso Notepad di Windows.

E se volessimo importare i dati in Excel 2003 o successivi, per ordinare le righe o applicare dei filtri? Aprendo il file direttamente (ad esempio con il comando "apri con") il risultato sarà quello di vedere tutti i dati inseriti nella prima cella, riga dopo riga. L'unica separazione corretta che il programma opera è quella dei record. Si può fare di meglio... vediamo come (prendendo come origine il file esportato della rubrica di Thunderbird).

  • apri Excel
  • crea un Nuovo file (in EXCEL 2003: Menu File -> Nuovo; in EXCEL 2007/10: pulsante "Office" ovvero quello in alto a sinistra con dentro quattro quadratini colorati -> Nuovo)
  • scegli la voce predefinita (Nuova cartella di lavoro)
  • apri un'origine dati esterna (in EXCEL 2003: Menu Dati -> Importa dati esterni -> da testo; in EXCEL 2007/10: menu Dati -> pulsante "da Testo" che si trova sulla sinistra)
  • seleziona il file CSV e clicca sul bottone "Importa"
  • si apre una finestra dal titolo "Importazione guidata testo - Passaggio 1 di 3"
    • passaggio1:
      qui puoi scegliere che tipo di file di testo stai importando; il file "Delimitato" è quello in cui i campi sono separati da un carattere speciale, come ad esempio la virgola o la tabulazione; il file a "larghezza fissa" è quello in cui i dati sono incolonnati ed ogni colonna ha una specifica larghezza
      • scegli il tipo di file Delimitato
      • inizia ad importare dalla riga 1
      • origine file Windows (ANSI)
    • passaggio2:
      avendo scelto il tipo "Delimitato" devi ora scegliere quale sia il delimitatore
      • tra i delimitatori seleziona solo Virgola
      • non flaggare la voce "Considera delimitatori consecutivi come uno solo"
      • qualificatore di testo: nessuno (in certi casi potresti dover scegliere le virgolette)
    • passaggio3:
      i valori da importare possono avere diversi formati. Per evitare che Excel li stravolga, è meglio impostare "Testo" per i CAP o i numeri di telefono; le colonne nome, cognome, indirizzo possono essere lasciate su "Standard". Se nel file da importare non ci sono numeri, puoi anche ignorare questo passaggio.
      • nella finestra "Anteprima dati" in basso, clicca sulla colonna dei CAP
      • scegli l'opzione "Testo" tra i formati disponibili, in alto a sinistra.
        • testo aggiunto il 19/01/2014 - SE tra i dati da importare ci sono dei numeri in formato americano (che usano il punto per la separazione dei decimali e la virgola per le migliaia), occorre impostarli nella finestra che si apre cliccando il pulsante "Avanzate...": digitare il punto come separatore decimale e la virgola come separatore delle migliaia
      • infine, clicca sul pulsante "Fine"
  • una piccola finestra chiede in quale cella inserire i dati: se visualizza la cella "=$A$1" procedi, altrimenti seleziona "In un nuovo foglio di lavoro"; quindi, clicca su OK
  • finalmente dovresti trovare i dati correttamente disposti in righe e colonne, pronti per essere organizzati; prima di continuare, salva il file nel formato XLS o XLSX per non rischiare di perdere il lavoro svolto.

Come sempre, puoi contattarmi per altre informazioni e, se queste righe ti sono state utili, puoi farmelo sapere inserendo un commento.

A presto!

Commenti

grazie, molto utile ho una rubrica in gmail che esporta solo file csv e non sapevo come importarli in un file execl per poterli organizzare

Ciao Alessandro, grazie al tuo post sono riuscita ad importare i dati in Excel anche se le celle sembrano essere in formato testo e non riesco ad usare i valori all'interno per i calcoli di cui ho bisogno. Ho provato anche ad impostare, al momento dell'importazione, il formato "generale" per alcune delle colonne, ma la situazione non è cambiata. Grazie ciao

Ciao, Marialaura. Mi hai scritto tramite il modulo di contatto che i tuoi valori includono anche dei punti al posto delle virgole. Nel formato numerico americano la virgola separa le migliaia, il punto i decimali. Quindi se vuoi usare i dati nei tuoi calcoli o cambi sistema numerico (ma lascerei stare questa via) oppure sostituisci i punti con le virgole. Puoi fare questo anche in modo ripetitivo, selezionando la colonna con i dati, poi vai nel menu "modifica" - "sostituisci", quindi fai una ricerca: trova . (devi proprio digitare il punto) e sostituisci con , (digita la virgola); poi clicca sul bottone delle Opzioni imposta la voce Cerca in "Per colonne". Il formato della cella su cui cerchi di applicare le formule è un formato "testo", giusto? Clicca con il destro del mouse sulla cella in questione (e su quelle da coinvolgere nei calcoli matematici) poi scegli Formato Celle. Nella linguetta Numero seleziona il tipo Numerico. Puoi anche decidere quanti decimali usare e se inserire un separatore delle migliaia nel nostro sistema è il punto). Ci sono anche altri formati numerici disponibili, quali valuta o contabilità, ma credo che quello indicato possa andare bene per la maggiorparte degli scopi.

Grazie mille!! Utilissimo! :-)

Finalmente sono riuscito a estrarre i dati da una lista di mail su webmail Aruba e portarlo in excel...ora devo collegarlo ad outlook...GRAZIE per la precisa esposizione dei passaggi... Rino

Non c'è di che... E' un piacere sapere che questo articolo le è stato utile. Grazie a lei per il commento.

grazie mille

Ciao Alessandro, grazie al tuo post sono riuscito ad aprire il file csv però ho un problema: io ho 60 file csv ognuno con 50 colonne. alla fine vorrei 60 righe sullo stesso file excel. c'è un modo più veloce che aprirli uno per uno e fare copia incolla? grazie mille!!

Ciao, Marco. Il modo c'è. Consiste nell'accodare tutti i file di origine in un unico file, che poi importerai in Excel. Prima di tutto copia la cartella contenente i .csv sul desktop e rinominala "importazione"; fai attenzione che vi siano i soli csv che vuoi importare. Lancia il prompt dei comandi (lo trovi in Tutti i programmi - Accessori). Nella finestra che si apre usa il comando "cd Desktop" (senza virgolette) per entrare nel desktop; quindi digita "cd importazione" per entrare nella cartella contenente i file csv. A questo punto digita il seguente comando: "for /F %i in ("*.csv") do type %i >> ../risultato.csv" (senza virgolette; mantieni solo quelle tra le parentesi). Sul desktop troverai il file risultato.csv, che potrai importare in Excel seguendo le istruzioni fornite nell'articolo. Fammi sapere... A presto.

ciao! è stato molto utile questo post, però facendo tutte le procedure,i miei numeri non vengono comunque importati correttamente! Se per esempio i miei numeri sono 107.333 e 69.485(SONO DECIMALI) questi su excel vengono importati come 1.073.333 e come 69.485 mai con le virgole(quindi non vengono considerati numeri decimali). Pertanto i grafici risultano sballati. Mi sapresti consigliare qualcosa? Ho provato a seguire il consiglio che avevi dato a Marialaura,di modificare i dati dopo l'importazione,ma i miei dati sono stati salvati già come numeri e quando voglio selezionare la colonna per sostituire i punti con le virgole non trovo dal menu l'opzione modifica. In ogni caso non so se questo metodo funzionerebbe dal momento che numeri come 1.073.333 avrebbero poi due virgole e comunque non andrebbero bene! Grazie anticipatamente per l'attenzione! PS: i dati sono stati importati da file.txt,non se se possa servirti come informzione. Stefania

I numeri che stai importando sono nel formato americano. Non possono esserci due punti, perché in quel formato il punto è la nostra virgola e la virgola è il nostro punto. Cambia il formato numerico di quei campi durante l'importazione, come ho specificato nell'articolo (testo aggiunto il 19/01/2014).

alessandro...grazie...sei un grande

utilizzo office 2007, un file in csv devo importarlo in excel ma nei decimali mi mette il punto invece della virgola ( con il 2003 era Ok) mi puoi aiutare grazie

Ciao Alessandro, volevo chiederti se c'e' un sistema per modificare i delimitatori dopo che ho aperto il file csv. Devo modificare tanti file singoli (e mantenerli singoli) e ogni volta fare la procedura completa mi risulta lunga. Grazie in anticipo

Vorrei rendere predefinito il fatto che aprendo un csv, si apra direttamente l'excel con una tabulazione scelta di default. grazie

Ciao! io invece avrei un problema che non riesco proprio a risolvere dopo l'importazione dei dati! Devo applicare la formula di excel =se all'interno di un campo nel quale c'è del testo, ma non me la prende. Praticamente riconosce tutti i valori come FALSO, anche se la conizione è verificata. Ho provato a fare la stessa cosa sulla colonna accanto che però contiene un valore numerico e in questo caso funziona correttamente. Mi sembra strano che l'errore sia solo per le cele formato testo. Ho pensato anche ad una formattazione particolare che crea errori di questo genere. Non saprei. Ti ringrazio anticipatamente! un saluto

Grazie Grazie Grazie! pure io che sono un vero disastro con il PC sono riuscita a convertire un file CSV di dati fondamentali americani per un lavoro che sto scrivendo in XLS! (dovresti intitolare trasformazione da CSV a XLS 4 dummies il tuo articolo). Chiaro, passaggio per passaggio. Grazie ancora!

grazie

Meraviglioso, grazie!!!!!!

Ciao, esiste una macro VBA che permetta l'elaborazione automatica di un csv? Grazie

Menomale che ci sei, ho ripassato quello che sapevo ma che ormai non lavorando più, sono in pensione da diversi anni, ovviamente mi serviva.

Ciao, io ho invece ho un diverso quesito. ho ottenuto diversi file .csv che devo integrare in un file .xls o xlsx. Dunque: 1 - ho n una colonna la lista dei CAP. Bene, quando richiedo di ordinare in senso crescente, mi "spezza" la lista crescente dei CAP, distinguendo una lista crescente delle referenze provenienti dal file .xls e una lista crescente delle referenze provenienti dai file .csv. Il risultato è che non ho una lista unica ordinata per CAP, per cui inservibile. Ordina perfettamente le liste anagrafiche per comune, per ordine alfabetico dei nominativi, ma i CAP no. Ho importato le colonne come testo, tutte, anche quelle coi dati numerici, per conservare lo 0 iniziale. 2 - Refresh: quando provo a fare "refresh data", mi va a prendere i dati nel file csv originario (ancora non ho aggiornato il file .csv con nuove versioni della medesima ricerca), ma così nel file .xls finale mi mette pure i dati secondo l'ordine colonne originario dei file csv. E non riesco a variare l'incolonnamento nel file .csv, che peraltro non credo essere la soluzione più corretta. E' possibile linkare le colonne del .csv a specifiche colonne del .xls? Un disastro. Che fare? Grazie per qualsiasi contributo

Ciao, approfitto della tua esperienza. Ho un problema con un vecchio Excel 2003 non fatto da noi che devo trasferire su Win7 ed Excel 2007. C'è dentro un macro che mappa un file CSV le cui informazioni vengono poi elaborate. Il contenuto del file cambia e le informazioni dentro l'Excel 2003 pare non cambino automaticamente mentre nello stesso file ma in Excel 2007 sì. Questo per gli scopi per cui era stato fatto questo Excel è un problema. C'è modo di scrivere una macro che, associata ad un bottone piazzato nel foglio 3 (per esempio), che scarichi i dati a comando (e questo si può fare) ma nel foglio 1, deputato a tale scopo? Grazie. Massimo

Grazie mille... stavo impazzendo. Purtroppo mi tocca un lavoraccio, perché tutte le voci (ogni nome, cognome, numero, email...) sono comprese tra virgolette. Passo da un file CSV creato su un vecchio Windows a un Mac. Si può ripulire velocemente un file così? Grazie comunque...

Ciao, Francesca. Al passaggio 2 dove trovi scritto: "qualificatore di testo: nessuno (in certi casi potresti dover scegliere le virgolette)" dovrai invece selezionare le virgolette dal menu a discesa o inserendole direttamente nel campo.

Ciao Alessandro scusa il disturbo. Tutto ok fino al terzo passaggio, ma quando guardo nell' anteprima dati non vedo colonne! C'è solo la voce generale sotto la quale ci sono dei segni illeggibili! Sto usando Excel2011 non so se cambia qualcosa. Grazie mille, Simone

Ciao, Simone. Il problema che esponi dovrebbe dipendere dalla codifica del file che stai importando. Prova ad importarlo con il formato utf8.

Ciao Alessandro, grazie mille articolo molto utile. Una domanda: ho un file della banca csv. Dopo averlo importato seguendo il tuo articolo ho le entrate e le uscite nella stessa colonna, con numeri positivi o negativi. Come faccio ad avere due colonne separate? Cordialmente Francesco

Grazie mille! Istruzioni chiarissime e seguendole il risultato è ottimo!

Ti conviene aprirli con LibreOffice o OpenOffice, lo scarici gratis e funziona anche coi CSV più complicati, mentre excel fa una marea di domande, quello cerca di capire da solo e all'apertura con semplice doppio click ti chiede di controllare se tutto è a posto. Se non vuoi leggere clicchi ok e quasi sempre non avrai problemi a vedere il file.

Aggiungi un commento