list_alt

code Python verified Free Download devices Cross-platform

code Code Preview

Python
#!/usr/bin/env python3
"""
Email List Formatter
Convert any file format to clean CSV with proper formatting
"""
import csv
import re

EMAIL_PATTERN = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'

def format_email_list(input_file, output_file, output_format='csv'):
    """Format email list from any input to clean output"""
    emails = set()

    # Extract emails from input file
    with open(input_file, 'r', encoding='utf-8') as f:
        content = f.read()
        found = re.findall(EMAIL_PATTERN, content)
        emails = sorted(set(e.lower() for e in found))

    # Output based on format
    if output_format == 'csv':
        with open(output_file, 'w', newline='') as f:
            writer = csv.writer(f)
            writer.writerow(['email'])
            for email in emails:
                writer.writerow([email])
    elif output_format == 'txt':
        with open(output_file, 'w') as f:
            f.write('\n'.join(emails))
    elif output_format == 'json':
        import json
        with open(output_file, 'w') as f:
            json.dump({'emails': emails}, f, indent=2)

    return len(emails)

def convert_format(input_file, output_format):
    """Quick format conversion"""
    formats = {'csv': '.csv', 'txt': '.txt', 'json': '.json'}
    output_file = input_file.rsplit('.', 1)[0] + formats[output_format]
    count = format_email_list(input_file, output_file, output_format)
    print(f"Formatted {count} emails to {output_format}")

if __name__ == '__main__':
    import sys
    count = format_email_list(sys.argv[1], 'output.csv')
    print(f"Formatted {count} emails")

info About This Tool

The Email List Formatter converts email lists between different formats. Auto-detects emails from any input and outputs clean, standardized files.

Key Features

  • Auto Detection - Extracts emails from any text format
  • Multiple Formats - CSV, TXT, JSON output options
  • Deduplication - Removes duplicates automatically
  • Normalization - Converts all emails to lowercase
  • Batch Processing - Handle large files efficiently

Supported Formats

  • Input - TXT, CSV, JSON, HTML, any text file
  • Output - CSV (default), TXT (one per line), JSON

Requirements

  • Python 3.7+
  • No external dependencies

download Download Script

Need Full Automation?

Try Postigo for automated email campaigns with AI personalization

rocket_launch Start Free Trial