CSV Edge: Quoted Embedded Newline
Tiny SAMPLE CSV (quoted-embedded-newline) exercising delimiter/quoting edge behaviour.
id,note
1,"line1
line2 SAMPLE"
2,"ok"
Specifications
- Delimiter
- ,
- Wave
- I
- Role
- delimiter-edge
Testing contract
Expected to pass- Scenario
- Exercise CSV Edge: Quoted Embedded Newline in its csv workflow. Tiny SAMPLE CSV (quoted-embedded-newline) exercising delimiter/quoting edge behaviour.
- Expected result
- 2 data records using ',' delimiters and UTF-8; header fields are id, note; data-record widths (columns:count) are {"2":2}. Declared feature checks: delimiter=,; role=delimiter-edge.
What is a .csv file?
CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, with quoting rules for values that contain delimiters, quotes, or newlines. It has no formal type system and depends on encoding and dialect conventions. It is the most portable format for tabular data exchange.
How to use this file
Use an example CSV to test parsers against quoting and embedded-delimiter edge cases, header handling, encoding detection, and import pipelines into databases or spreadsheets.
How to use this file for testing
“CSV Edge: Quoted Embedded Newline” is a deterministic Testaroo fixture for CSV parsing, Error handling, Data import. Clean and deliberately messy CSVs, quoted commas, embedded newlines, ragged rows, odd delimiters, and encodings.
Documented properties for this file: delimiter-edge. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.
Data fixtures document their exact quirks (delimiters, encodings, null handling, schema, and row counts) in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.
Feed the file to your parser and assert it handles the documented quirks, quoted delimiters, embedded newlines, ragged rows, or invalid syntax; the valid↔invalid distinction is labelled in the title.
Code examples
import pandas as pd
df = pd.read_csv("quoted-embedded-newline.csv")
print(df.head())
print(df.dtypes)Generated by generation/pad_wave_i.py. Free for any use, no attribution required, license.
Related files
- csvAlder Table Bistro: Allergen matrix missing a menu itemAllergen matrix missing a menu item for Alder Table Bistro. Intentionally incomplete. 3 rows where the recipes cost 4 menu items. MENU-04 (Potato gratin) has no row, although it has costed recipe lines in plate-costs.csv and sales in sales-mix-pmix.csv. Its correct row would declare: milk: Cream.

- csvAlder Table Bistro: Allergen menu missing a dish on the menuAllergen menu missing a dish on the menu for Alder Table Bistro. Intentionally incomplete. 3 rows where allergen-menu.csv has 4. MENU-02 Tomato soup is printed on printed-menu.pdf at 11.50 CAD and declares 1 allergen in the costing folder, and it has no row here. The remaining rows are correct.

- csvAlder Table Bistro: Cost of goods sold that contradicts the count sheetCost of goods sold that contradicts the count sheet for Alder Table Bistro. Intentionally inconsistent. Row 3 reports a closing count of 22.20 kg for ING-03 (Potatoes), the counted figure with the two decimal digits transposed, where inventory-count-sheet.csv, inventory-variance.xlsx and cogs-report.json all count 22.02 kg. Every derived value follows the wrong count, so the file is internally consistent and its total of 1574.49 CAD differs from the correct 1574.81 CAD by -0.32 CAD.

- csvAlder Table Bistro: Inventory count sheet as transcribedInventory count sheet as transcribed for Alder Table Bistro. The same closing counts as inventory-count-sheet.csv, in the shape a paper count actually arrives in. CRLF line endings, a UTF-8 byte order mark, a semicolon delimiter and a decimal comma. Two blank lines, one section banner that is not a record, one ingredient split across two locations, one counted as whole packs plus a remainder, one superseded mid-shift row at 14:20, trailing whitespace in three fields, a leading-zero bin code, an empty bin code, and one record carrying ten fields where the header declares 9. Every quirk is named in README.md.

- csvAlder Table Bistro: Overtime computed on the wrong week boundaryOvertime computed on the wrong week boundary for Alder Table Bistro. Intentionally inconsistent. The same 74 shift segments are grouped into Sunday-start work weeks where the declared policy, and labour-hours-overtime.xlsx, start each week on Monday. The correct grouping yields 5.00 payable overtime hours and 51.50 CAD of premium; this file yields 3.00 hours and 31.50 CAD. The hours that disappear belong to EMP-01 in the week beginning 2026-08-24, whose 46.00 hours the Sunday grouping splits across two weeks.

- csvAlder Table Bistro: Product mix carrying items the menu does not haveProduct mix carrying items the menu does not have for Alder Table Bistro. Intentionally inconsistent. 6 rows where sales-mix-pmix.csv has 4. MENU-90 and MENU-91 are not in the shared menu table, and the first row renames MENU-01 to "Roast chicken plate (lunch)", which has a doubled space and a suffix the menu does not carry. The remaining rows are correct.
