Python scripts for cleaning, migrating, and reconciling event data across platforms. Built for Cvent, Award Force, Asana, and spreadsheet-heavy workflows.
Event teams manually export data from one platform, paste it into Excel, clean it, and re-import it into another. This takes hours per cycle, introduces errors, and is basically impossible to audit.
This toolset was built to replace that workflow. It handles deduplication, cross-platform reconciliation, and badge generation — automatically, repeatably, and with a clear output report.
| Script | What It Does | Time Saved |
|---|---|---|
clean_contacts.py |
Deduplicate, validate emails, split names, normalize org names | 2-3 hours per data migration |
reconcile_platforms.py |
Find mismatches between two platform exports (e.g. Cvent vs Award Force) | 3-5 hours per event cycle |
generate_badges.py |
Build badge-print-ready data from registration exports | 1-2 hours per event |
pip install -r requirements.txtClean a contact list:
python scripts/clean_contacts.py data/raw_export.csv --output data/cleaned.csv --format cventReconcile Award Force + Cvent:
python scripts/reconcile_platforms.py \
--source1 data/award_force_export.csv \
--source2 data/cvent_export.csv \
--match-on email \
--output data/reconciliation_report.csvGenerate badge data:
python scripts/generate_badges.py data/registration.csv --template templates/badge_template.csvevent-data-tools/
├── scripts/ # Core Python scripts
├── data/ # Sample input/output files
│ ├── raw/ # Example raw exports
│ └── cleaned/ # Expected clean outputs
├── templates/ # Platform import templates
│ ├── badge_template.csv
│ ├── cvent_import_template.csv
│ └── org_name_map.csv
├── tests/ # pytest test suite
│ └── test_clean_contacts.py
└── examples/ # Sample walkthroughs
| Template | Purpose |
|---|---|
badge_template.csv |
Column structure for badge printing vendors |
cvent_import_template.csv |
Cvent's expected import format |
org_name_map.csv |
Organization name standardization mappings |
This toolset was built while managing a real event migration: 250+ contacts across Award Force and Cvent with zero data loss tolerance.
The workflow:
- Client exports CSV from platform A
clean_contacts.pyruns deduplication and validationreconcile_platforms.pysurfaces mismatches before import- Clean file imports into platform B
- Report generated for audit trail
- Python 3.8+
- pandas
- pytest (for tests)
pip install -r requirements.txtpytest tests/The test suite covers email validation, name splitting, deduplication logic, and org name normalization.
MIT — use it, adapt it, ship it.
Built by Alessandra Desiderio