mirror of
https://github.com/parsecsv/csv-spec.git
synced 2026-02-19 08:56:38 +00:00
Add rule 3
This commit is contained in:
43
README.md
43
README.md
@@ -55,10 +55,17 @@ character used in any given input CSV-like formatted file/data.
|
|||||||
- **Line Break** — Line breaks in CSV files should be CRLF (`\r\n`).
|
- **Line Break** — Line breaks in CSV files should be CRLF (`\r\n`).
|
||||||
|
|
||||||
|
|
||||||
## Rules
|
## CSV Format Definition
|
||||||
|
|
||||||
_Where relevant examples include the CSV text version and the equivalent data
|
- The rules are mostly based on the corresponding section from
|
||||||
in JSON format. Line breaks in the CSV examples are displayed as `¬`._
|
[RFC 4180][def], with minor changes, clarifications and improved examples.
|
||||||
|
- Where relevant, examples include both the CSV text version and the
|
||||||
|
equivalent data in JSON format.
|
||||||
|
- Line breaks in the CSV examples are displayed as `¬`.
|
||||||
|
|
||||||
|
[def]: http://tools.ietf.org/html/rfc4180#section-2
|
||||||
|
|
||||||
|
### Rules
|
||||||
|
|
||||||
1. Each record is located on a separate line, each line ending with CRLF
|
1. Each record is located on a separate line, each line ending with CRLF
|
||||||
(`\r\n`). For example:
|
(`\r\n`). For example:
|
||||||
@@ -86,7 +93,7 @@ in JSON format. Line breaks in the CSV examples are displayed as `¬`._
|
|||||||
aaa,bbb,ccc¬
|
aaa,bbb,ccc¬
|
||||||
xxx,yyy,zzz
|
xxx,yyy,zzz
|
||||||
```
|
```
|
||||||
|
|
||||||
JSON:
|
JSON:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
@@ -94,6 +101,34 @@ in JSON format. Line breaks in the CSV examples are displayed as `¬`._
|
|||||||
["xxx", "yyy", "zzz"] ]
|
["xxx", "yyy", "zzz"] ]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
3. There maybe 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. For example:
|
||||||
|
|
||||||
|
```csv
|
||||||
|
field_1,field_2,field_3¬
|
||||||
|
aaa,bbb,ccc¬
|
||||||
|
xxx,yyy,zzz¬
|
||||||
|
```
|
||||||
|
|
||||||
|
JSON (ignoring headers):
|
||||||
|
|
||||||
|
```json
|
||||||
|
[ ["field_1", "field_2", "field_3"],
|
||||||
|
["aaa", "bbb", "ccc"],
|
||||||
|
["xxx", "yyy", "zzz"] ]
|
||||||
|
```
|
||||||
|
|
||||||
|
JSON (using headers):
|
||||||
|
|
||||||
|
```json
|
||||||
|
[ {"field_1": "aaa", "field_2": "bbb", "field_3": "ccc"},
|
||||||
|
{"field_1": "xxx", "field_2": "yyy", "field_3": "zzz"} ]
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user