Skip to content
Testaroo
csv2 KB

Tern Client Services: Contact export in the semicolon dialect

Contact export in the semicolon dialect for Tern Client Services. The same 8 contacts written with a semicolon delimiter. The billing_address field is still quoted because it contains newlines, but the tags field is now bare: "billing,renewals" needs no quotes when the delimiter is a semicolon, so the same value is quoted in contacts-export.csv and unquoted here. The file has 33 physical lines.

Preview, first 34 linescsv
contact_id;company_id;company_name;full_name;job_title;email;billing_address;tags;notes
CON-01;CO-01;Pine Workshop;Ada Sample;Coordinator;contact1@example.test;"Suite 1, Pine Workshop Building
11 Example Way
Sample City
ZZ1 1ZZ";billing,renewals;"Prefers the title ""Coordinator"", not ""Lead"". Copy billing, not delivery, on invoices."
CON-02;CO-02;Cobalt Design;Ben Sample;Manager;contact2@example.test;"Suite 2, Cobalt Design Building
12 Example Way
Sample City
ZZ2 2ZZ";billing,renewals;"Prefers the title ""Manager"", not ""Lead"". Copy billing, not delivery, on invoices."
CON-03;CO-03;Tern Events;Chen Sample;Coordinator;contact3@example.test;"Suite 3, Tern Events Building
13 Example Way
Sample City
ZZ3 3ZZ";billing,renewals;"Prefers the title ""Coordinator"", not ""Lead"". Copy billing, not delivery, on invoices."
CON-04;CO-04;Alder Services;Dara Sample;Manager;contact4@example.test;"Suite 4, Alder Services Building
14 Example Way
Sample City
ZZ4 4ZZ";billing,renewals;"Prefers the title ""Manager"", not ""Lead"". Copy billing, not delivery, on invoices."
CON-05;CO-01;Pine Workshop;Ede Sample;Coordinator;contact5@example.test;"Suite 5, Pine Workshop Building
15 Example Way
Sample City
ZZ5 5ZZ";billing,renewals;"Prefers the title ""Coordinator"", not ""Lead"". Copy billing, not delivery, on invoices."
CON-06;CO-02;Cobalt Design;Faye Sample;Manager;contact6@example.test;"Suite 6, Cobalt Design Building
16 Example Way
Sample City
ZZ6 6ZZ";billing,renewals;"Prefers the title ""Manager"", not ""Lead"". Copy billing, not delivery, on invoices."
CON-07;CO-03;Tern Events;Gus Sample;Coordinator;contact7@example.test;"Suite 7, Tern Events Building
17 Example Way
Sample City
ZZ7 7ZZ";billing,renewals;"Prefers the title ""Coordinator"", not ""Lead"". Copy billing, not delivery, on invoices."
CON-08;CO-04;Alder Services;Hana Sample;Manager;contact8@example.test;"Suite 8, Alder Services Building
18 Example Way
Sample City
ZZ8 8ZZ";billing,renewals;"Prefers the title ""Manager"", not ""Lead"". Copy billing, not delivery, on invoices."

Specifications

Document Set
professional-services
Industry
professional-services
Source Kit
crm-services
Synthetic
true
As Of
2026-09-08
Rows
8
Delimiter
semicolon
Physical Lines
33
Encoding
UTF-8

Testing contract

Expected to pass
Scenario
Parse both contact exports with a dialect-aware reader and compare the parsed records.
Expected result
Both files yield identical 8-record, 9-field results once the delimiter is set correctly, including the tags value billing,renewals, which is quoted in one file and bare in the other. A reader hard-wired to commas splits the tags field of this file into two and shifts every later column.

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

“Tern Client Services: Contact export in the semicolon dialect” is a deterministic Testaroo fixture for Data import. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.

Documented properties for this file: 8 rows · UTF-8. 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.

Code examples

import pandas as pd

df = pd.read_csv("contacts-export-semicolon.csv")
print(df.head())
print(df.dtypes)

Generated by generation/industry_documents.py. Free for any use, no attribution required, license.