CodeGym /Corsi /Python SELF IT /Salvataggio dei dati in formati CSV ed Excel

Salvataggio dei dati in formati CSV ed Excel

Python SELF IT
Livello 32 , Lezione 3
Disponibile

1. Preparazione dei dati per il salvataggio

Nelle lezioni precedenti abbiamo imparato a estrarre dati da pagine web con la libreria BeautifulSoup. Ora è il momento di trasformare i nostri successi nello scraping in qualcosa di utile e comodo per l'analisi. Dopotutto, se i dati rimangono solo nel tuo script, non servono a molto. Oggi vedremo come salvare i dati in formati CSV ed Excel, perché, come è noto, nella vita di un programmatore, come nella vita di un gatto, la cosa più importante è trovare qualcosa da mangiare... Voglio dire, salvare.

Prima di iniziare a trasformare i nostri dati in tabelle divertenti, fermiamoci un attimo per considerare come preparare i nostri dati per l'esportazione. Di solito, i dati che estraiamo dalle pagine web sono presentati sotto forma di liste o dizionari. È meglio formattarli in modo che siano pronti per l'esportazione in formato tabellare.

Esempio di dati

Supponiamo di aver raccolto i seguenti dati sui libri:

Python

books = [
    {"title": "Harry Potter e la pietra filosofale", "author": "J. K. Rowling", "price": "350.00"},
    {"title": "Il Signore degli Anelli", "author": "J. R. R. Tolkien", "price": "500.00"},
    {"title": "Il Maestro e Margherita", "author": "M. A. Bulgakov", "price": "450.00"}
]

2. Salvataggio in formato CSV

Il CSV (Comma-Separated Values) è un formato di testo semplice che permette di memorizzare i dati in forma tabellare. Ogni riga in un file CSV rappresenta un record, e ogni colonna è separata da virgole. Vediamo come salvare i dati in questo formato.

Utilizzo della libreria csv

Python mette a disposizione il modulo csv, che semplifica molto la vita quando si lavora con i file CSV. Ecco come esportare i nostri dati sui libri in un file CSV:

Python

import csv

with open('books.csv', mode='w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=["title", "author", "price"])
    writer.writeheader()
    writer.writerows(books)

print("Dati salvati con successo in books.csv")

Nota bene: specifica sempre newline='' quando apri un file in modalità w, per evitare righe vuote extra su Windows.

Lettura dei dati da un CSV

Per completezza, vediamo come leggere di nuovo i dati da un file CSV:

Python

with open('books.csv', mode='r', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

3. Salvataggio in formato Excel

Per lavorare con Excel in Python, utilizzeremo la libreria pandas. Pandas permette di convertire facilmente i nostri dati in DataFrame ed esportarli in vari formati, incluso Excel.

Installazione di pandas

Se non hai ancora installato pandas, puoi farlo con pip:

Bash

pip install pandas openpyxl

Utilizzo di pandas per esportare in Excel

Ora salviamo i nostri dati sui libri in Excel:

Python

import pandas as pd

df = pd.DataFrame(books)
df.to_excel('books.xlsx', index=False, engine='openpyxl')

print("Dati salvati con successo in books.xlsx")

Lettura dei dati da Excel

Non c'è gioia più grande di creare qualcosa e poterlo riutilizzare! Vediamo come leggere i dati da un file Excel:

Python

df = pd.read_excel('books.xlsx')
print(df)

4. Errori e gestione degli errori

Come in ogni altro aspetto della programmazione, quando si esportano dati ci si può imbattere in errori. I più comuni riguardano percorsi di file errati o il mancato caricamento delle librerie necessarie. Ad esempio, se dimentichi di installare openpyxl, l'esportazione in Excel fallirà.

Controllo dell'esistenza dei file

Prima di tentare di scrivere o leggere un file, è utile controllarne l'esistenza. Puoi farlo con il modulo os:

Python

import os

if os.path.exists('books.csv'):
    print("Il file books.csv esiste")
else:
    print("Il file books.csv non è stato trovato")

Non ci crederai, ma l'errore più comune per i principianti è quello di sovrascrivere accidentalmente i vecchi dati con quelli nuovi. Automatizzare il salvataggio di una cronologia dei file è una vera arte.

Non dimenticare di includere anche la gestione degli errori usando le istruzioni try-except, in modo che il tuo script non si blocchi al primo problema.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION