Che cos'è il formato di file CSV?
.csv è un formato di file che memorizza vari tipi di dati in set di testo separati da caratteri, più comunemente con una virgola - da cui il nome Comma-Separated Values. Il formato è documentato nella RFC 4180 (2005), uno standard minimo ma ampiamente adottato. I record di dati sono separati da un carattere di nuova riga, mentre i singoli valori dei campi sono comunemente racchiusi tra virgolette doppie. Per includere una virgoletta doppia letterale all'interno di un campo, questa viene scritta due volte come "".
La prima riga di un file .csv convenzionalmente contiene i nomi delle colonne (una riga di intestazione), sebbene la specifica CSV non ne imponga la struttura. I campi dei record possono essere separati da:
- Virgole,
- Punti e virgola,
- Tabulazioni (vedi .TSV),
- Altri caratteri - usati in modo coerente in tutto il documento.
I file .csv sono utilizzati per memorizzare, importare ed esportare dati in un formato ben definito e indipendente dalla piattaforma che qualsiasi editor di testo può aprire. Poiché la scelta del separatore è libera, a volte può causare problemi durante la conversione; pertanto, le procedure guidate di importazione dei dati devono offrire un'opzione per configurare il separatore da utilizzare, come nel caso di applicazioni per fogli di calcolo come Microsoft Excel e LibreOffice Calc.
.csv non trasporta alcuna firma di file (magic bytes) ed è identificato dalla sua struttura piuttosto che dal suo contenuto. Un file può opzionalmente iniziare con un byte-order mark UTF-8 (EF BB BF), che Excel scrive automaticamente per segnalare la codifica. La maggior parte dei linguaggi di programmazione fornisce librerie dedicate per importare e gestire i file .csv in modo affidabile, rendendolo uno dei formati di scambio dati più universali in uso oggi.
Sicurezza e incolumità
RISCHIO: MEDIUMIl CSV è testo normale e non può eseguire codice di per sé, ma comporta un rischio reale: l'iniezione CSV (formula injection). Se una cella inizia con =, +, - o @, un foglio di calcolo potrebbe eseguirla come formula all'apertura - gli aggressori sfruttano questo nei CSV esportati per eseguire comandi o sottrarre dati. Le versioni moderne di Excel/LibreOffice avvertono prima di eseguire tali formule; non abilitarle in file provenienti da fonti non attendibili. Il «rischio» quotidiano è la corruzione dei dati, non il malware: una codifica o un delimitatore errati che alterano silenziosamente numeri, date e zeri iniziali (ad esempio, codici postali e numeri di telefono che perdono lo 0 iniziale).
Dettagli del formato
in sintesiProgrammi che aprono file CSV
Dettagli tecnici
specifiche approfondite| Tipo MIME | text/csv |
| Struttura del file | Testo normale; righe delimitate da interruzioni di riga, campi delimitati da un carattere separatore scelto |
| Delimitatore predefinito | Virgola (`,`); punti e virgola e tabulazioni sono varianti ampiamente utilizzate |
| Fine riga (RFC 4180) | CRLF (`\r\n` per specifica); solo LF (`\n`) è ampiamente accettato nella pratica |
| Carattere di citazione del campo | Virgolette doppie (`"`); raddoppiate (`""`) per l'escape di una virgoletta letterale all'interno di un campo |
| Riga di intestazione | Prima riga opzionale che convenzionalmente elenca i nomi delle colonne; la RFC 4180 lascia la struttura dell'intestazione indefinita |
| Firma del file (magic bytes) | Nessuna; identificato dalla struttura. Un BOM UTF-8 opzionale (`EF BB BF`) può apparire all'inizio del file |
| Supporto campi multi-riga | Supportato quando il contenuto del campo è racchiuso tra virgolette doppie |
| Modello di dati | Solo tabella piatta singola; nessuna nidificazione, relazione o tipo di dati di colonna codificato nel formato |
| Codifica dei caratteri | Qualsiasi codifica concordata tra scrittore e lettore; UTF-8 e Windows-1252 sono le più comuni |
| Compressione integrata | Nessuna; i file sono comunemente archiviati come `.gz` o [ZIP](/format/zip) |
| Idoneità allo streaming | Alta - le righe possono essere elaborate riga per riga senza caricare l'intero file in memoria |
| Supporto dati binari | Non supportato nativamente; il contenuto binario deve essere codificato in Base64 come testo |
| Limiti di righe dell'applicazione | Nessun limite a livello di formato; Microsoft Excel limita l'importazione dei fogli a 1.048.576 righe |
| Rilasciato | 1970s (early use); RFC 4180 published 2005 |
| Standard aperto | Sì · royalty-free |
| Specifica | www.rfc-editor.org |
Conversioni CSV
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CSV.