Sample CSV files for testing parsers and imports, free and CC0
csv/people-10-utf8-bom.csv starts with a UTF-8 byte-order mark, which a reader that does not
strip it attaches to the first column name. csv/people-10-semicolon.csv uses ; as its
delimiter, as European locales export, where csv/people-10.csv uses ,.
csv/people-10-crlf.csv ends every record in CR LF, so a reader that splits on LF alone leaves
a carriage return on the last column. csv/people-10-quoted-newlines.csv has a newline inside
a quoted field, so its 10 rows take 20 lines and a reader that splits on lines gets the row
count wrong. csv/people-10-quoted-commas.csv has a comma inside a quoted field, which breaks
splitting on commas.
csv/people-1000.csv and csv/people-100k.csv hold 1,000 and 100,000 rows of the same 14
columns in 249,645 and 25,395,296 bytes. csv/1mb.csv and csv/10mb.csv are 965,447 and
9,749,583 bytes, prefixes of the same rows, for upload limits.
| File | Size | Properties | Description |
|---|---|---|---|
10mb.csv
|
9.7 MB (9,749,583 bytes) | 38,461 rows | About 10MB of people rows, fitted to within 5% of the nominal size. Still a prefix of the same dataset.
Snippets
|
1mb.csv
|
965.4 KB (965,447 bytes) | 3,846 rows | About 1MB of people rows, fitted to within 5% of the nominal size. Still a prefix of the same dataset.
Snippets
|
people-10-crlf.csv
|
2.7 KB (2,690 bytes) | 10 rows | The same ten people rows with every record ending in CR LF, as RFC 4180 specifies, where people-10.csv ends them in LF. A reader that splits on LF alone leaves a carriage return on the last column.
Snippets
|
people-10-quoted-commas.csv
|
2.7 KB (2,706 bytes) | 10 rows | Ten people rows where the bio field contains a comma inside a quoted field. The field-level twin of people-10-quoted-newlines.csv: that one breaks splitting on lines, this one breaks splitting on commas.
Snippets
|
people-10-quoted-newlines.csv
|
2.7 KB (2,697 bytes) | 10 rows | Ten people rows where the bio field contains a real newline inside a quoted field, which is where line-by-line splitting goes wrong.
Snippets
|
people-10-semicolon.csv
|
2.7 KB (2,679 bytes) | 10 rows | The same ten people rows delimited by semicolons, as European locales export.
Snippets
|
people-10-utf8-bom.csv
|
2.7 KB (2,682 bytes) | 10 rows | Ten people rows preceded by a UTF-8 byte-order mark, which many CSV readers leave attached to the first column name.
Snippets
|
people-10.csv
|
2.7 KB (2,679 bytes) | 10 rows | 10 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-10 fixture.
Snippets
|
people-1000.csv
|
249.6 KB (249,645 bytes) | 1,000 rows | 1,000 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-1000 fixture.
Snippets
|
people-100k.csv
|
25.4 MB (25,395,296 bytes) | 100,000 rows | 100,000 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-100k fixture.
Snippets
|
Every CSV file in one command, each checked against its hash: npx loremfile get --format csv, or loremfile get --format csv after pip install loremfile.
Related formats
File names follow the naming grammar. Verify a download against sha256sums.txt.