import csv import json import argparse parser = argparse.ArgumentParser(description='Analyze territory data.') parser.add_argument('filename', help='The CSV file to analyze.') args = parser.parse_args() data = [] with open(args.filename, 'r') as f: reader = csv.DictReader(f) for row in reader: data.append(row) total_territories = len(data) address_counts = [int(row['Address Count']) for row in data if row['Address Count']] total_addresses = sum(address_counts) average_addresses = total_addresses / total_territories if total_territories > 0 else 0 min_addresses = min(address_counts) if address_counts else 0 max_addresses = max(address_counts) if address_counts else 0 category_counts = {} for row in data: category = row['CategoryCode'] if category in category_counts: category_counts[category] += 1 else: category_counts[category] = 1 with open('analysis.md', 'w') as f: f.write('# Territory Analysis\n') f.write(f'Total Territories: {total_territories}\n') f.write(f'Total Addresses: {total_addresses}\n') f.write(f'Average Addresses per Territory: {average_addresses:.2f}\n') f.write('## Territories by Category\n') for category, count in category_counts.items(): f.write(f'- {category}: {count}\n') with open('map.html', 'w') as f: f.write(f''' Territory Map
''')