transfer @zwaxman's code from drive
This commit is contained in:
39
README.md
Normal file
39
README.md
Normal 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.
|
||||
Reference in New Issue
Block a user