Ano ang CSV file?
Ang mga file na may extension na .csv (Comma Separated Values) ay kumakatawan sa mga plain text file na naglalaman ng mga talaan ng data na may comma separated values. Ang bawat linya sa isang CSV file ay isang bagong tala mula sa hanay ng mga talaan na nasa file. Ang mga naturang file ay nabuo kapag ang paglipat ng data ay inilaan mula sa isang storage system patungo sa isa pa. Dahil makikilala ng lahat ng application ang mga talaan na pinaghihiwalay ng kuwit, ang pag-import ng naturang mga file ng data sa database ay ginagawa nang napakaginhawa. Halos lahat ng mga application ng spreadsheet tulad ng Microsoft Excel o OpenOffice Calc ay maaaring mag-import ng CSV nang walang labis na pagsisikap. Ang data na na-import mula sa mga naturang file ay nakaayos sa mga cell ng isang spreadsheet para sa representasyon sa user.
Maikling Kasaysayan
Ang mga sumusunod ay ilang mabilis na katotohanan tungkol sa pinagmulan at kasaysayan ng CSV file format.
1972 - Sinuportahan sila ng IBM Fortran (level H extended) compiler sa ilalim ng OS/360
1978 - Ang input/output na nakadirekta sa listahan ay suportado ng FORTRAN 77 na gumamit ng mga kuwit at mga puwang para sa mga delimiter
2005 - Ang CSV ay na-standardize sa RFC4180 bilang isang Uri ng Nilalaman ng MIME.
2013 - Ang mga kakulangan ng RFC4180 ay pinangasiwaan ng isang rekomendasyon ng W3C
2015 - Ginawa ng W3C ang mga unang draft ng mga rekomendasyon para sa mga pamantayan ng CSV-metadata, na nagsimula bilang rekomendasyon noong Disyembre 2015
I-convert ang mga CSV File
Maaaring ma-convert ang mga CSV file sa iba’t ibang format ng file gamit ang mga application na maaaring magbukas ng mga file na ito. Halimbawa, ang Microsoft Excel ay maaaring mag-import ng data mula sa CSV file format at i-save ito sa XLS, XLSX, PDF, TXT , XML at HTML na mga format ng file. Katulad nito, ang ibang desktop pati na rin ang mga online na serbisyo ay nagbibigay ng kakayahang mag-export ng mga CSV file sa HTML, ODS at RTF.
CSV File Format
Ang format ng CSV file ay kilala na tinukoy sa ilalim ng RFC4180. Tinutukoy nito ang anumang file na sumusunod sa CSV kung:
- Each record is located on a separate line, delimited by a line break (CRLF). For example:
- aaa,bbb,ccc CRLF
- zzz,yyy,xxx CRLF
- The last record in the file may or may not have an ending line break. For example:
- aaa,bbb,ccc CRLF
- zzz,yyy,xxx
- There may be an optional header line appearing as the first line of the file with the same format as normal record lines. This header will contain names corresponding to the fields in the file and should contain the same number of fields as the records in the rest of the file (the presence or absence of the header line should be indicated via the optional “header” parameter of this MIME type). For example:
- field_name,field_name,field_name CRLF
- aaa,bbb,ccc CRLF
- zzz,yyy,xxx CRLF
- Within the header and each record, there may be one or more fields, separated by commas. Each line should contain the same number of fields throughout the file. Spaces are considered part of a field and should not be ignored. The last field in the record must not be followed by a comma. For example:
- aaa,bbb,ccc
- Each field may or may not be enclosed in double quotes (however some programs, such as Microsoft Excel, do not use double quotes at all). If fields are not enclosed with double quotes, then double quotes may not appear inside the fields. For example:\
- “aaa”,“bbb”,“ccc” CRLF
- zzz,yyy,xxx
- Fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes. For example:
- “aaa”,“b CRLF
- bb”,“ccc” CRLF
- zzz,yyy,xxx
- If double-quotes are used to enclose fields, then a double-quote appearing inside a field must be escaped by preceding it with another double quote. For example:
- “aaa”,“b"“bb”,“ccc”
Gayunpaman, sa liwanag ng modernong paggamit, ang delimiter ay hindi limitado sa kuwit lamang at maaari ding maging semicolon, tab o mga puwang. Ang mga application tulad ng Microsoft Excel ay nagbibigay ng opsyon upang tukuyin ang delimiter character para sa pag-import ng mga tala mula sa isang CSV file.