Untitled

 avatar
unknown
plain_text
20 days ago
1.9 kB
2
Indexable
import pandas as pd

def load_data(file_path):
    """
    Carica i dati da un file CSV e restituisce un DataFrame pandas.
    :param file_path: Percorso del file CSV.
    :return: DataFrame contenente i dati del file.
    """
    try:
        data = pd.read_csv(file_path)
        print("File caricato con successo!")
        return data
    except FileNotFoundError:
        print("Errore: File non trovato.")
    except Exception as e:
        print(f"Errore durante il caricamento del file: {e}")


def search_data(df, column, keyword):
    """
    Filtra i dati del DataFrame in base a una colonna e una parola chiave.
    :param df: DataFrame da filtrare.
    :param column: Colonna da analizzare.
    :param keyword: Parola chiave per il filtro.
    :return: DataFrame filtrato.
    """
    if column not in df.columns:
        print("Colonna non trovata nel DataFrame.")
        return None

    filtered_data = df[df[column].str.contains(keyword, case=False, na=False)]
    return filtered_data


def main():
    """
    Funzione principale per gestire il programma.
    """
    print("Benvenuto nel tool di analisi di mercato!")
    file_path = input("Inserisci il percorso del file CSV: ")
    
    # Caricamento dati
    data = load_data(file_path)
    if data is None:
        return

    # Mostra colonne disponibili
    print("\nColonne disponibili nei dati:")
    print(data.columns.tolist())

    # Esegui ricerca
    column = input("Inserisci il nome della colonna da analizzare: ")
    keyword = input("Inserisci la parola chiave per filtrare i dati: ")

    result = search_data(data, column, keyword)

    if result is not None and not result.empty:
        print("\nRisultati della ricerca:")
        print(result)
    else:
        print("\nNessun risultato trovato.")

if __name__ == "__main__":
    main()
Leave a Comment