Tabella CSV (.csv)
RFC StandardComma-Separated Values (CSV) è un formato di testo semplice molto diffuso per dati tabulari, in cui ogni riga rappresenta un record e i campi sono separati da caratteri delimitatori.
Converti da XLSX a CSV
Convertitore gratuito da XLSX a CSV nel browser. Converti i file istantaneamente sul tuo dispositivo.
Comprimi CSV online
Privato - i file non lasciano mai il tuo dispositivo
Ispezione e metadati
I sistemi operativi e gli analizzatori di file identificano i file CSV ispezionando la sequenza di byte binari iniziale:
Firma dell'intestazione a livello di byte (Magic Bytes)
I sistemi operativi e gli analizzatori di file identificano i file CSV ispezionando la sequenza di byte binari iniziale:
FIRMA ESADECIMALE (OFFSET 0):
Nessuna firma fissaRAPPRESENTAZIONE ASCII: Byte di testo; codifica variabile, spesso UTF-8
Standardizzazione: RFC 4180 / IETF
Specifiche tecniche
| Architettura del contenitore | File di testo semplice delimitato che rappresenta dati in righe e colonne |
| Compressione | Gzip / Deflate ottengono una compressione dell'85%-95% su record tabulari ripetitivi |
| Endianness dei byte | Flusso di testo UTF-8 (BOM UTF-8 facoltativo EF BB BF, usato da Excel) |
| Spazi colore | Non applicabile |
| Canali e struttura | Record di riga delimitati da CRLF con colonne delimitate da virgole |
| Dimensioni massime | Illimitato; elaborabile in streaming fino a diversi gigabyte senza caricare l'intero file in memoria |
| Trasparenza | Non applicabile |
| Streaming e progressivo | Elaborazione nativa in streaming riga per riga supportata da tutte le pipeline di dati |
Matrice di confronto tecnico: CSV vs Concorrenti
| Attributo tecnico | CSV (Attuale) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| Tipo di file | Tabella semplice in testo | Foglio di calcolo XML compresso in archivio | Archiviazione colonnare binaria | Testo gerarchico |
| Fogli multipli | No (solo una tabella semplice) | Sì (più cartelle di lavoro e fogli) | Archiviazione basata su partizioni | Array e oggetti annidati |
| Tipi di dati | Testo grezzo non tipizzato | Celle tipizzate, formule, formattazione | Tipi di colonna binari rigorosi | Tipi primitivi (stringa, numero, booleano) |
| Analisi dei big data | Lenta (richiede la lettura sequenziale di ogni riga) | Non adatto ai big data | Ultra-veloce (eliminazione colonne e pushdown di predicati) | Moderato |
Modalità di corruzione comuni e guida al recupero esadecimale
Le colonne si spostano a destra o il conteggio delle righe non corrisponde.
Causa principale: Un campo di testo contenente una virgola non preceduta da un carattere di escape e privo di virgolette.
Ripristino: La RFC 4180 richiede che i campi contenenti virgole siano racchiusi tra virgolette doppie: "Smith, John".
In Excel i caratteri accentati appaiono alterati (mojibake, ad esempio é al posto di é).
Causa principale: Excel ha aperto un CSV UTF-8 assumendo la codifica dei caratteri Windows ANSI/CP1252 legacy.
Ripristino: Anteporre al file il Byte Order Mark (BOM) UTF-8 di 3 byte (0xEF 0xBB 0xBF).
Analisi di sicurezza e vettori di attacco del parser
I file CSV si aprono direttamente in software per fogli di calcolo come Excel e Google Fogli, esponendo gli utenti ad attacchi di iniezione di formule (Iniezione CSV).
Vettori di attacco noti
- Iniezione di formule: celle che iniziano con '=', '+', '-' o '@' ed eseguono macro dei fogli di calcolo o comandi DDE (ad es. '=cmd|' /C calc'!A0').
- Esfiltrazione di dati tramite formule HYPERLINK() che inviano dati sensibili delle celle a server remoti dell'attaccante al clic.
Migliori pratiche difensive: Durante l'esportazione di dati utente in CSV, anteporre un apice singolo (') o una tabulazione a qualsiasi cella che inizia con '=', '+', '-' o '@' per forzare la visualizzazione come testo semplice in Excel.
Origini storiche e tappe fondamentali
Vantaggi principali
- Massima semplicità: leggibile in qualsiasi editor di testo e importabile in qualsiasi database e foglio di calcolo.
- Streaming riga per riga estremamente veloce senza costruire un DOM completo in memoria.
- Sovraccarico minimo: nessuna sintassi di tag prolissa né definizioni di schema.
Limiti tecnici e svantaggi
- Nessun tipo di dato standard: numeri, date, booleani e testo sono tutti memorizzati come stringhe grezze.
- Nessun supporto per fogli multipli, formattazione delle celle, formule o metadati.
- I conflitti tra delimitatori (virgole all'interno del testo, virgole decimali nelle impostazioni locali europee) causano frequenti errori di analisi.
Curiosità tecniche
- In molti paesi europei in cui le virgole vengono usate come separatori decimali, i punti e virgola (;) vengono utilizzati al posto delle virgole come separatori CSV.
- Storicamente Microsoft Excel richiedeva un BOM UTF-8 (0xEF 0xBB 0xBF) per visualizzare correttamente i caratteri accentati non-ASCII.
- Il Servizio Sanitario Nazionale del Regno Unito è diventato tristemente famoso nel 2020 per aver perso quasi 16.000 record di tracciamento dei contatti COVID-19, importati in un formato di foglio di calcolo Excel obsoleto che limitava il numero di righe a 65.536.
Domande tecniche frequenti
Cos'è la RFC 4180?
La RFC 4180 è lo standard IETF ufficiale per i file CSV. Impone che i campi contenenti virgole, interruzioni di riga o virgolette doppie debbano essere racchiusi tra virgolette doppie e che le virgolette interne debbano essere sottoposte a escape raddoppiandole ("").
Perché i file CSV si aprono con caratteri corrotti in Excel?
Le versioni precedenti di Microsoft Excel utilizzano per impostazione predefinita la pagina di codice Windows locale (come Windows-1252) anziché UTF-8 quando aprono direttamente i file CSV. L'aggiunta di un BOM UTF-8 (Byte Order Mark) all'inizio del file forza Excel a decodificare correttamente l'UTF-8.
Cos'è l'iniezione CSV (iniezione di formule)?
L'iniezione CSV si verifica quando input utente non attendibili contenenti caratteri iniziali che attivano le formule ('=', '+', '-', '@') vengono esportati in un file di foglio di calcolo. Quando il file viene aperto in un programma come Excel, il foglio di calcolo esegue automaticamente la formula o il comando di scambio dinamico di dati (DDE), con il rischio di eseguire comandi di sistema o sottrarre dati.
Coppie di conversione per CSV correlate
La conversione di un foglio Excel in una tabella CSV estrae i dati tabulari grezzi in un formato di testo universale per la massima compatibilità software.
La conversione di semplici file CSV basati su testo in fogli di calcolo XLSX ricchi di funzionalità consente stili di dati avanzati, formule e più fogli.
La conversione di file di testo semplice in database relazionali strutturati consente di eseguire query veloci e gestire relazioni di dati complesse.
Trasforma gli script di backup di database relazionali in fogli di calcolo tabulari piatti per semplificare l’analisi dei dati e la reportistica.
La conversione di dataset HDF5 gerarchici in file CSV di telemetria piatti trasforma complessi record scientifici multidimensionali in semplici righe e colonne per l'analisi tramite foglio di calcolo.
La conversione di griglie scientifiche NetCDF multidimensionali in file CSV di telemetria piatti rende i complessi dati climatici e oceanografici leggibili nei programmi di fogli di calcolo di base.
La conversione di file vCard in CSV Contatti trasforma schede di contatto gerarchiche in righe piatte di foglio di calcolo per semplici importazioni in database.