transfer @zwaxman's code from drive

This commit is contained in:
2026-03-04 14:10:10 +00:00
commit 4399945a7b
2 changed files with 293 additions and 0 deletions

39
README.md Normal file
View File

@@ -0,0 +1,39 @@
# Member Classification Script
Classifies members from an email list into three categories:
- **not-in-good-standing**: Status is not "Member in Good Standing" (including empty values)
- **existing-member**: In good standing and already in the member database
- **new-member**: In good standing but not yet in the database
## Requirements
Python 3.6+ (no external dependencies)
## Usage
### Basic Usage
```bash
python classify_members.py
```
Uses default files: `AllMembersEmails-20FEB2026.csv` and `nnjdsamembers.csv`
### Custom Files
```bash
python classify_members.py --all-members your-file.csv --member-db your-db.csv
```
## Input Files
**All Members File**: CSV with columns `email`, `membership_status`, `list_date`
**Member Database File**: CSV with "Email address" column (first descriptive line is skipped)
## Output
Creates a folder named after the date extracted from the input filename (e.g., `20FEB2026/`) containing:
- `{DATE}_not-in-good-standing.csv`
- `{DATE}_existing-member.csv`
- `{DATE}_new-member.csv`
All original columns are preserved in the output files.