CSV
Comma-Separated Values, định dạng văn bản biểu diễn dữ liệu bằng dấu phân cách phẩy. Được sử dụng rộng rãi để trao đổi dữ liệu bảng.
CSV (Comma-Separated Values) là định dạng văn bản đơn giản trong đó các trường được phân cách bằng dấu phẩy và các bản ghi được phân cách bằng dòng mới. Nó được sử dụng rộng rãi để trao đổi dữ liệu giữa ứng dụng bảng tính và cơ sở dữ liệu, và sự đơn giản của nó đã duy trì vị trí là định dạng trao đổi dữ liệu tiêu chuẩn trong nhiều thập kỷ.
Đặc tả CSV được định nghĩa trong RFC 4180, nhưng trong thực tế có các biến thể phương ngữ giữa các phần mềm. Các trường chứa dấu phẩy hoặc dòng mới phải được bao trong dấu ngoặc kép, và bản thân dấu ngoặc kép yêu cầu thoát (nhân đôi). Khi dấu phân cách là tab thay vì dấu phẩy, nó được gọi là TSV (Tab-Separated Values), và CSV phân cách bằng dấu chấm phẩy phổ biến ở các khu vực châu Âu. Sách giới thiệu phân tích dữ liệu bao gồm kỹ thuật xử lý CSV.
Trong môi trường CJK, các vấn đề mã hóa ký tự rất phổ biến. Khi mở tệp CSV trong Excel, tệp UTF-8 không có BOM có thể hiển thị ký tự lỗi, yêu cầu đầu ra Shift_JIS hoặc UTF-8 có BOM. BOM (Byte Order Mark) bao gồm 3 byte (EF BB BF) cho U+FEFF, được thêm vào đầu tệp để Excel nhận dạng chính xác là UTF-8. Module csv của Python và các thư viện JavaScript khác nhau cho phép kiểm soát mã hóa và BOM.
Chọn giữa CSV và JSON là chủ đề thường được thảo luận trong thực tế. CSV phù hợp cho dữ liệu bảng, có kích thước tệp nhỏ hơn và có thể mở trực tiếp trong Excel. Mặt khác, JSON có thể biểu diễn cấu trúc lồng nhau và thông tin kiểu, và là định dạng chủ đạo cho phản hồi API. CSV cho tập dữ liệu bảng lớn và JSON cho trao đổi dữ liệu có cấu trúc là hướng dẫn chung.
Xử lý các trường hợp biên trong phân tích CSV rất quan trọng. Ngắt dòng trong trường, dấu ngoặc kép thoát, phân biệt trường rỗng với null, và xử lý dấu phẩy cuối là các trường hợp mà split(',') đơn giản không thể xử lý chính xác. Sử dụng thư viện phân tích CSV đáng tin cậy (module csv của Python, Papa Parse của JavaScript, v.v.) được khuyến nghị.
Từ góc độ đếm ký tự, các dấu phân cách CSV như dấu phẩy và dấu ngoặc kép ảnh hưởng đến kích thước dữ liệu. Nhiều trường hơn nghĩa là nhiều dấu phẩy hơn, và nhiều trường yêu cầu trích dẫn tăng chi phí. Đối với tập dữ liệu lớn, CSV có xu hướng ít chi phí hơn so với JSON, nhưng điều này không đúng khi các trường chứa nhiều dấu phẩy hoặc dòng mới. Sách quản lý dữ liệu Excel cung cấp thêm ngữ cảnh.