40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
# 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.
|