Đặc tả định dạng CSV được xác định trong RFC 4180 . Thông số kỹ thuật này đã được công bố vì
không có thông số kỹ thuật chính thức nào tồn tại, điều này cho phép giải thích nhiều loại tệp CSV
Thật không may, kể từ năm 2005 (ngày xuất bản RFC), không có gì thay đổi. Chúng tôi vẫn có một loạt các triển khai. Cách tiếp cận chung được định nghĩa trong RFC 4180 là bao gồm các trường có chứa các ký tự như dấu phẩy trong dấu ngoặc kép, tuy nhiên khuyến nghị này không phải lúc nào cũng được đáp ứng bởi các phần mềm khác nhau.
Vấn đề là ở các ký tự dấu phẩy địa phương châu Âu khác nhau đóng vai trò là dấu thập phân, vì vậy bạn viết 0,005
thay vì 0.005
. Tuy nhiên, trong các trường hợp khác, dấu phẩy được sử dụng thay vì khoảng trắng để báo hiệu các nhóm chữ số, ví dụ 4,000,000.00
(xem tại đây ). Trong cả hai trường hợp, việc sử dụng dấu phẩy có thể dẫn đến lỗi đọc dữ liệu từ tệp csv vì phần mềm của bạn không thực sự biết nếu 0,005, 0,1
là hai số hoặc bốn số khác nhau (xem ví dụ ở đây ).
Cuối cùng nhưng không kém phần quan trọng, nếu bạn lưu trữ văn bản trong tệp dữ liệu của mình, thì dấu phẩy phổ biến hơn nhiều trong văn bản so với dấu chấm phẩy, vì vậy nếu văn bản của bạn không được đặt trong dấu ngoặc kép, thì dữ liệu đó cũng có thể dễ dàng đọc bị lỗi .
Không có gì làm cho dấu phẩy tốt hơn hoặc phân tách trường tệ hơn khi các tệp CSV được sử dụng theo các khuyến nghị như RFC 4180 bảo vệ khỏi các vấn đề được mô tả ở trên. Tuy nhiên, nếu có rủi ro khi sử dụng định dạng CSV được đơn giản hóa mà không bao gồm các trường trong dấu ngoặc kép hoặc khuyến nghị có thể được sử dụng không nhất quán, thì các dấu tách khác (ví dụ dấu chấm phẩy) dường như là cách tiếp cận an toàn hơn.