#!/usr/bin/env python3
"""
Script para analizar el archivo Excel de extensiones
"""
import pandas as pd
import json
import sys

def analyze_excel(file_path):
    """Analiza el archivo Excel y extrae toda la información"""
    try:
        # Leer el archivo Excel
        df = pd.read_excel(file_path)
        
        print("=== ANÁLISIS DEL ARCHIVO EXCEL ===")
        print(f"\nArchivo: {file_path}")
        print(f"Total de filas: {len(df)}")
        print(f"Total de columnas: {len(df.columns)}")
        
        print("\n=== COLUMNAS ENCONTRADAS ===")
        for i, col in enumerate(df.columns):
            print(f"{i+1}. {col}")
            
        print("\n=== PRIMERAS 10 FILAS ===")
        print(df.head(10).to_string())
        
        print("\n=== ESTADÍSTICAS POR COLUMNA ===")
        for col in df.columns:
            print(f"\n--- {col} ---")
            if df[col].dtype == 'object':
                print(f"Valores únicos: {df[col].nunique()}")
                print(f"Valores más comunes:")
                print(df[col].value_counts().head(5))
            else:
                print(f"Min: {df[col].min()}")
                print(f"Max: {df[col].max()}")
                print(f"Media: {df[col].mean():.2f}" if df[col].dtype in ['int64', 'float64'] else "N/A")
        
        # Guardar resumen en JSON
        summary = {
            "total_rows": len(df),
            "total_columns": len(df.columns),
            "columns": list(df.columns),
            "data_types": {col: str(df[col].dtype) for col in df.columns},
            "unique_values": {col: df[col].nunique() for col in df.columns if df[col].dtype == 'object'},
            "sample_data": df.head(5).to_dict(orient='records')
        }
        
        with open('/var/www/html/docs/excel_summary.json', 'w', encoding='utf-8') as f:
            json.dump(summary, f, indent=2, ensure_ascii=False)
        
        # Exportar a CSV para análisis más fácil
        df.to_csv('/var/www/html/docs/extensiones_data.csv', index=False, encoding='utf-8')
        
        print("\n=== ARCHIVOS GENERADOS ===")
        print("- excel_summary.json: Resumen en formato JSON")
        print("- extensiones_data.csv: Datos completos en CSV")
        
    except Exception as e:
        print(f"Error al analizar el archivo: {str(e)}")
        sys.exit(1)

if __name__ == "__main__":
    analyze_excel('/var/www/html/docs/Extensionesparacentralita.xlsx')