OHAYO / SKILL 004
Compare two CSVs.
Match by ID.
Match records by the IDs you choose. See what is missing or changed, even when rows move. Keep the originals and a verifiable trail.
Review: 3 records need attention.
1 left-only · 1 right-only · 1 changed · 1 unchanged.
Record order changed. Leading-zero IDs stayed intact. No values were included in the report.
See the comparison and matched example →EXACT MATCHING. NO REWRITES.
From two exports
to a review list.
Confirm identity
Choose exact key columns, comparison fields and delimiter. Files need the same column set. Empty or duplicate keys reject the comparison rather than silently replacing a record.
Compare locally
Row and column order may differ. Text stays text: 0012 and 12 remain different IDs; 19.90 and 19.9 remain different field values. No fuzzy matching, type coercion or uploads.
Review the originals
Use record and physical-line evidence to inspect local data. Agree any correction with its owner and rerun a separate copy. A match confirms only the fields selected.
Know what matched means.
How is this different from CSV Data Quality Audit?
This package compares two exports by known keys. CSV Data Quality Audit checks one file against required, unique and type rules. Neither rewrites data or proves accounting truth.
Which files and limits are supported?
UTF-8 with optional BOM; explicit comma, semicolon, tab or pipe; quoted commas and newlines. Each file: up to 10 MiB, 20,000 records, 100 columns; each field up to 65,536 decoded characters. Up to 5 key columns; first 500 details retained, all findings counted. XLSX, fuzzy matching, column mapping and delimiter guessing are unsupported.
Will equal amounts with different formatting match?
No: this is exact decoded text comparison. 19.90 differs from 19.9; whitespace and case are significant. Choose explicit fields and resolve normalization separately. No currency conversion, totals, tax or fee calculations.
What happens to duplicate IDs?
The result is rejected with exit 2. Resolve duplicate or empty keys with the data owner first. Exit 0 means selected fields matched; exit 1 means records require review. Header-only files can match zero rows, which does not prove export completeness.
What about privacy and free alternatives?
Inputs stay local. Reports omit cell/key values and paths, but disclose column names and locations. Spreadsheets, Python csv and general diff tools are useful free alternatives; this package adds a repeatable workflow, bounded evidence, examples and tests. It does not guarantee business correctness.
Can I share the results?
The purchaser may use and modify the package for personal and client work, and share reports with relevant owners. Redistribution of the package itself is excluded. Fresh report paths are required; output errors reject the run.