This tool takes the Registration Report and Attendance Report generated by Zoom Webinars, cleans them up, and outputs a combined report that is easier to load into data analytics platforms.
- Merges Registration and Attendance reports
- Cleans and standardizes data
- Outputs a single, easy-to-use CSV file
- Anaconda or Miniconda installed on your system
-
Clone this repository:
git clone https://github.com/yourusername/zoom-webinar-report-merger.git cd zoom-webinar-report-merger
-
Create a new Anaconda virtual environment:
conda create -n zoom-report-env python=3.8
-
Activate the virtual environment:
conda activate zoom-report-env
-
Install the required packages:
pip install -r requirements.txt
-
Ensure your virtual environment is activated:
conda activate zoom-report-env
-
Run the script with your Registration and Attendance report files:
python webinar-report-merge.py path/to/registration_report.csv path/to/attendance_report.csv
-
The merged and cleaned report will be saved in the same directory as
combined_report.csv
.
For convenience in processing multiple webinar reports at once, we've included a script called process_all_webinars.py
. This script automates the process of running webinar-report-merge.py
on multiple pairs of registration and attendance reports.
- The script scans the
./input
directory for CSV files. - It looks for pairs of files with the following naming convention:
- Attendance report:
attendee_{identifier}.csv
- Registration report:
registration_{identifier}.csv
- Attendance report:
- For each matching pair found, it runs
webinar-report-merge.py
with the appropriate arguments. - The script provides detailed logging of its actions and any errors encountered.
- Place all your raw webinar report CSV files (both attendance and registration reports) in the
./input
directory. - Ensure that
process_all_webinars.py
is in the same directory aswebinar-report-merge.py
. - Run the script:
python process_all_webinars.py
- The script will process all matching pairs of files and output the results in the default output location (as specified in
webinar-report-merge.py
).
- Automatically matches attendance and registration report pairs.
- Processes multiple webinar reports in a single run.
- Provides detailed logging for easy troubleshooting.
- Handles errors gracefully, continuing to process other files if one pair fails.
- Ensure that your input files follow the naming convention:
attendee_{identifier}.csv
andregistration_{identifier}.csv
. - The script assumes that
webinar-report-merge.py
is in the same directory. - Check the console output or log files for any warnings or errors during processing.
This script is particularly useful when you need to process reports from multiple webinars, saving time and reducing manual effort.
After processing multiple webinar reports with the webinar-report-merge.py
script, you may want to combine all the output files into a single, comprehensive CSV file. The concatenate_outputs.py
script is designed for this purpose.
-
Ensure that all your processed webinar report CSV files are in the
output
directory. -
Run the concatenation script:
python concatenate_outputs.py
-
The script will combine all CSV files in the
output
directory into a single file namedconcatenated_output.csv
in the same directory as the script.
- Preserves the header (column names) from the first file.
- Concatenates data from all files, excluding redundant headers.
- Sorts files alphabetically before concatenation to ensure consistent order.
- Provides console output confirming successful concatenation or notifying if no CSV files are found.
- This script assumes all CSV files in the
output
directory have the same structure (same columns in the same order). - If your output directory is named differently, you can modify the
output_dir
variable in the script. - The concatenated file will be named
concatenated_output.csv
by default. You can change this by modifying theoutput_filename
variable in the script.
Use this script after running webinar-report-merge.py
on multiple webinar reports to consolidate all the data into a single, easy-to-analyze CSV file.
- Clark Dever
- Claude 3.5-sonnet (AI Assistant)
- GPT-4 (AI Model)
This project is licensed under the MIT License - see the LICENSE.md file for details.