Skip to content

Repository files navigation

Event Data Tools

Python scripts for cleaning, migrating, and reconciling event data across platforms. Built for Cvent, Award Force, Asana, and spreadsheet-heavy workflows.

Tests Open in Colab


The Problem

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.


What's In Here

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

Quick Start

pip install -r requirements.txt

Clean a contact list:

python scripts/clean_contacts.py data/raw_export.csv --output data/cleaned.csv --format cvent

Reconcile 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.csv

Generate badge data:

python scripts/generate_badges.py data/registration.csv --template templates/badge_template.csv

Folder Structure

event-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

Templates

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

How It Was Deployed

This toolset was built while managing a real event migration: 250+ contacts across Award Force and Cvent with zero data loss tolerance.

The workflow:

  1. Client exports CSV from platform A
  2. clean_contacts.py runs deduplication and validation
  3. reconcile_platforms.py surfaces mismatches before import
  4. Clean file imports into platform B
  5. Report generated for audit trail

Requirements

  • Python 3.8+
  • pandas
  • pytest (for tests)
pip install -r requirements.txt

Tests

pytest tests/

The test suite covers email validation, name splitting, deduplication logic, and org name normalization.



Related Work


License

MIT — use it, adapt it, ship it.

Built by Alessandra Desiderio

About

Python scripts for cleaning, migrating, and reconciling event data across Cvent, Award Force, Asana, and spreadsheets.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages