Skip to content

clarkdever/Zoom-Webinar-Report-Merge

Repository files navigation

Zoom Webinar Report Merger

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.

Features

  • Merges Registration and Attendance reports
  • Cleans and standardizes data
  • Outputs a single, easy-to-use CSV file

Installation and Usage

Prerequisites

  • Anaconda or Miniconda installed on your system

Setup

  1. Clone this repository:

    git clone https://github.com/yourusername/zoom-webinar-report-merger.git
    cd zoom-webinar-report-merger
    
  2. Create a new Anaconda virtual environment:

    conda create -n zoom-report-env python=3.8
    
  3. Activate the virtual environment:

    conda activate zoom-report-env
    
  4. Install the required packages:

    pip install -r requirements.txt
    

Running the App

  1. Ensure your virtual environment is activated:

    conda activate zoom-report-env
    
  2. 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
    
  3. The merged and cleaned report will be saved in the same directory as combined_report.csv.

Batch Processing with process_all_webinars.py

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.

How it works

  1. The script scans the ./input directory for CSV files.
  2. It looks for pairs of files with the following naming convention:
    • Attendance report: attendee_{identifier}.csv
    • Registration report: registration_{identifier}.csv
  3. For each matching pair found, it runs webinar-report-merge.py with the appropriate arguments.
  4. The script provides detailed logging of its actions and any errors encountered.

Usage

  1. Place all your raw webinar report CSV files (both attendance and registration reports) in the ./input directory.
  2. Ensure that process_all_webinars.py is in the same directory as webinar-report-merge.py.
  3. Run the script:
    python process_all_webinars.py
    
  4. 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).

Features

  • 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.

Notes

  • Ensure that your input files follow the naming convention: attendee_{identifier}.csv and registration_{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.

Concatenating Multiple Output Files

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.

Usage of concatenate_outputs.py

  1. Ensure that all your processed webinar report CSV files are in the output directory.

  2. Run the concatenation script:

    python concatenate_outputs.py
    
  3. The script will combine all CSV files in the output directory into a single file named concatenated_output.csv in the same directory as the script.

Features

  • 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.

Notes

  • 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 the output_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.

Contributing Authors

  • Clark Dever
  • Claude 3.5-sonnet (AI Assistant)
  • GPT-4 (AI Model)

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages