Le specifiche del formato CSV sono definite in RFC 4180 . Questa specifica è stata pubblicata perché
non esistono specifiche formali che consentano un'ampia varietà di interpretazioni dei file CSV
Sfortunatamente, dal 2005 (data di pubblicazione della RFC), nulla è cambiato. Abbiamo ancora un'ampia varietà di implementazioni. L'approccio generale definito in RFC 4180 è quello di racchiudere i campi contenenti caratteri come virgole tra virgolette, tuttavia questa raccomandazione non è sempre soddisfatta da software diverso.
Il problema è che in varie lingue europee il carattere virgola funge da punto decimale, quindi scrivi 0,005
invece di 0.005
. Tuttavia, in altri casi, al posto degli spazi vengono utilizzate le virgole per segnalare gruppi di cifre, ad es. 4,000,000.00
(Vedere qui ). In entrambi i casi l'uso delle virgole potrebbe comportare errori nella lettura dei dati dai file CSV perché il tuo software non sa davvero se ci 0,005, 0,1
sono due numeri o quattro numeri diversi (vedi esempio qui ).
Ultimo ma non meno importante, se si memorizza il testo nel file di dati, le virgole sono molto più comuni nel testo rispetto, ad esempio, al punto e virgola, quindi se il testo non è racchiuso tra virgolette, tali dati possono anche essere facilmente letti con errori .
Nulla rende le virgole migliori, o peggio separatori di campo per quanto riguarda i file CSV utilizzati in conformità con le raccomandazioni RFC 4180 che proteggono dai problemi sopra descritti. Tuttavia, se esiste il rischio di utilizzare il formato CSV semplificato che non racchiude i campi tra virgolette o la raccomandazione potrebbe essere utilizzata in modo incoerente, allora altri separatori (ad esempio punto e virgola) sembrano essere un approccio più sicuro.