Skip to content
Ospivia StudioITEN

DEMONSTRATION PROJECT · SYNTHETIC DATA

ImportGuard

From the received file to the agreed schema. Every record has a verifiable destination.

Scope
Data mapping and validation
Format
CSV → CSV + HTML + JSON
Evidence
14 records · 6 ready · 8 for review

The problem.

An export may have different columns, identifiers with leading zeros, missing fields or conflicting rows. Copying everything into the target system hides errors instead of resolving them.

What it does.

  • Maps columns to the documented schema and preserves identifiers as text.
  • Checks required fields and address format without asserting email deliverability.
  • Separates duplicates, conflicts and anomalies from the ready file.
  • Records the result, reason and references for each source record.

What is delivered.

The demonstration package includes runnable Python code, synthetic input, two output CSVs, an HTML report, JSON audit, instructions and tests. You can reproduce the run and inspect its result.

A documented example schema. The demonstration does not include an import into a commercial CRM or verify whether email addresses can receive messages.

Download the project

source_dirty.csv → CSV

Every record accounted for.

Recorded decisions on the synthetic dataset. Source record numbers exclude the header.

#IDResult
010001Ready
020002Conflicting duplicate
030003Missing email
040004Invalid email format
050005Ready
060001Exact duplicate
070002Conflicting duplicate
08—Blank row
090006Ready
100007Missing full name
11—Missing identifier
120008Ready
130009Ready
140010Ready

14 records shown. No record is unaccounted for.

A data format to prepare?

Format, destination and rules: let’s define the first task together.