CodeGym /Corso Java /Python SELF IT /Esportazione di dati filtrati e processati in Excel

Esportazione di dati filtrati e processati in Excel

Python SELF IT
Livello 28 , Lezione 4
Disponibile

Immagina di essere un esploratore spaziale e che i dati siano la tua mappa del cielo stellato. È ingombrante, confusa e assolutamente necessaria. Dopo un'accurata filtrazione e analisi, questi dati richiedono un'organizzazione e una conservazione in un formato facile da leggere. Ed è qui che entra in scena il nostro eroe: l'esportazione dei dati in Excel. Ti consente di condividere le tue scoperte con i colleghi o preparare report per una riunione importante. In un mondo dove i dati sono il nuovo petrolio, la capacità di creare report con poche righe di codice potrebbe valere milioni.

1. Aspetti fondamentali dell'esportazione dei dati

L'esportazione dei dati in Excel non è solo una conversione da un formato all'altro. È un'opportunità per personalizzare i report in modo che siano comodi e chiari. Come diceva un mio amico programmatore: "Python può fare magie, ma anche Harry Potter ha bisogno della bacchetta". Nel nostro caso, la bacchetta è il metodo to_excel della libreria pandas.

Basi di to_excel

Iniziamo con un esempio semplice di esportazione di dati da un DataFrame in un file Excel. Supponiamo di avere un DataFrame con i dati dei partecipanti a una maratona:

Python

import pandas as pd

# Creiamo un DataFrame
data = {
    'Nome': ['Anna', 'Boris', 'Viktor', 'Galina'],
    'Età': [29, 34, 22, 28],
    'Città': ['Mosca', 'San Pietroburgo', 'Kazan', 'Novosibirsk'],
    'Tempo finale': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}

df = pd.DataFrame(data)

# Esportiamo il DataFrame in Excel
df.to_excel('marathon_participants.xlsx', index=False)

In questo esempio abbiamo creato un semplice DataFrame ed esportato i dati in un file marathon_participants.xlsx. Nota che abbiamo impostato il parametro index=False per non esportare gli indici del DataFrame in Excel se non necessari.

Aggiungere formattazione e stili

Passiamo al livello successivo: aggiungere stile. Perché chi ha detto che i dati non possono essere eleganti? Con la libreria pandas e openpyxl, è facile formattare tabelle e aggiungere stili.

Python

import pandas as pd
from openpyxl import Workbook

# Creiamo un DataFrame
data = {
    'Nome': ['Anna', 'Boris', 'Viktor', 'Galina'],
    'Età': [29, 34, 22, 28],
    'Città': ['Mosca', 'San Pietroburgo', 'Kazan', 'Novosibirsk'],
    'Tempo finale': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}

df = pd.DataFrame(data)

# Scriviamo in Excel con formattazione
with pd.ExcelWriter('styled_marathon.xlsx', engine='openpyxl') as writer:
    df.to_excel(writer, index=False, sheet_name='Partecipanti')
    worksheet = writer.sheets['Partecipanti']
    for col in worksheet.columns:
        max_length = 0
        column = col[0].column_letter # otteniamo l'indicazione alfabetica della colonna
        for cell in col:
            try:
                if len(str(cell.value)) > max_length:
                    max_length = len(cell.value)
            except:
                pass
        adjusted_width = (max_length + 2) * 1.2
        worksheet.column_dimensions[column].width = adjusted_width

In questo esempio non solo esportiamo i dati, ma adattiamo la larghezza delle colonne in base al contenuto per un aspetto più ordinato in Excel. Usiamo openpyxl per accedere al foglio e applicare lo stile.

Gestire più fogli

Creare report con più fogli può sembrare una missione da supereroe, ma in realtà è piuttosto semplice. Immagina di voler salvare i dati di diverse gare annuali su fogli separati.

Python

import pandas as pd

# Dati per anni diversi
data_2022 = {
    'Nome': ['Dmitry', 'Elena'],
    'Età': [30, 29],
    'Città': ['Omsk', 'Vladivostok'],
    'Tempo finale': ['03:20:05', '03:35:40']
}

data_2023 = {
    'Nome': ['Igor', 'Katerina'],
    'Età': [31, 27],
    'Città': ['Chelyabinsk', 'Ekaterinburg'],
    'Tempo finale': ['03:29:10', '03:40:20']
}

df_2022 = pd.DataFrame(data_2022)
df_2023 = pd.DataFrame(data_2023)

# Scriviamo i dati su fogli diversi
with pd.ExcelWriter('marathon_data.xlsx') as writer:
    df_2022.to_excel(writer, sheet_name='2022', index=False)
    df_2023.to_excel(writer, sheet_name='2023', index=False)

Questo codice crea un file marathon_data.xlsx con due fogli contenenti i dati di due anni distinti. È molto comodo per separare i dati per anno, progetto o altre categorie.

2. C'è sempre qualcosa da migliorare

Cerca di pensare a come l'automazione dell'esportazione potrebbe essere integrata in processi più complessi del tuo progetto. Forse vorresti aggiungere la creazione automatica di grafici dopo l'esportazione? O integrare i report con un'interfaccia web per un accesso più comodo?

In ogni caso, l'esportazione di dati in Excel è solo l'inizio del percorso verso la creazione di report belli e informativi, che ti renderanno una star dell'analisi sul tuo posto di lavoro o nello studio!

Adesso hai gli strumenti per automatizzare l'esportazione dei dati e sai come rendere i tuoi report in Excel più leggibili e presentabili. Quindi avanti, e che i tuoi dati lavorino sempre per te!

1
Опрос
Scrittura di query,  28 уровень,  4 лекция
недоступен
Scrittura di query
Scrittura di query
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION