# -*- coding: utf-8 -*-
"""
Created on Thu Mar 19 00:10:15 2026

@author: scige
"""
#%%
import pandas as pd

# 1. Otteniamo la lista degli attributi
fx = dir(pd)

# 2. Correzione della List Comprehension
fx_read = [ff for ff in fx if ff.startswith("read")]

print(fx_read)
"""
['read_clipboard', 'read_csv', 'read_excel', 'read_feather', 'read_fwf', 
 'read_hdf', 'read_html', 'read_iceberg', 'read_json', 'read_orc', 
 'read_parquet', 'read_pickle', 'read_sas', 'read_spss', 'read_sql', 
 'read_sql_query', 'read_sql_table', 'read_stata', 'read_table', 'read_xml']
"""
#%%
if True:
    # Violazione all'indentazione ?????
    dati_vendite="""\
ID,Prodotto,Prezzo,Quantita,Data
1,Laptop,1200.50,5,2023-10-01
2,Mouse,25.00,15,2023-10-02
3,Monitor,350.00,7,2023-10-02
"""
    with open('dati_vendite.csv',"w") as oo:
        oo.write(dati_vendite)
#%%
import pandas as pd

if True:
    # Caricamento del file
    df = pd.read_csv('dati_vendite.csv')
    
    print("-"*8)
    # Visualizza le prime righe
    print(df.head())
    print("-"*8)
    print(df.columns)
    print(f"Num Rigle : {len(df)}")
    print("-"*8)

print("-"*0) #!!!! COSA????

if True:
    # Calcoliamo il fatturato totale (Prezzo * Quantità)
    df['Fatturato'] = df['Prezzo'] * df['Quantita']
    
    # Calcoliamo il prezzo medio per prodotto
    prezzo_medio = df['Prezzo'].mean()
    
    print("-"*8)
    print(f"Prezzo medio: {prezzo_medio}€")
    print(df)
    print("-"*8)
    df.to_csv('prodotti_output.tsv', sep='\t', index=False)
    
if True:
    print("-"*8)
    with open('dati_vendite.csv',"r") as iFile:
        for iLine in iFile:
            iLine=iLine.rstrip()
            print(f"#csv {iLine}")
    print("-"*8)
    with open('prodotti_output.tsv',"r") as iFile:
        for iLine in iFile:
            iLine=iLine.rstrip().expandtabs(12)
            print(f"#tsv {iLine}")
    print("-"*8)

#%%
import pandas as pd

# Creiamo un DataFrame di esempio
data = {
    'Prodotto': ['Laptop', 'Mouse', 'Monitor'],
    'Prezzo': [1200.50, 25.00, 350.00],
    'Disponibile': [True, True, False]
}

df = pd.DataFrame(data)

# Salvataggio in formato TSV
# sep='\t' definisce il tasto Tab come separatore
# index=False evita di salvare la colonna degli indici numerici a sinistra

df.to_csv('prodotti_output2.tsv', sep='\t', index=False)   
print("File TSV salvato con successo!")

