Inizia subitoInizia gratis

Automatizza il caricamento e la combinazione dei dati da più fogli di lavoro Excel

Ora sei prontə ad automatizzare l'import delle informazioni sulle società quotate per tutte e tre le borse valori presenti nel file Excel listings.xlsx, implementando un ciclo for. Ecco cosa farai:

  1. Recupera i nomi dei fogli di un oggetto pd.ExcelFile() usando l'attributo sheet_names.
  2. Crea una lista vuota.
  3. Scrivi un ciclo for che itera su questi nomi di foglio per leggere i dati dal foglio corrispondente nel file Excel in una variabile. Aggiungi, se vuoi, una colonna di riferimento. Ad ogni iterazione, aggiungi il contenuto di questa variabile alla lista.
  4. Concatena i DataFrame nella lista.

Come sempre, fai riferimento agli esercizi precedenti in questo capitolo o alla documentazione di pandas se ti serve aiuto. pandas è stato importato come pd.

Questo esercizio fa parte del corso

Importing and Managing Financial Data in Python

Visualizza corso

Istruzioni dell'esercizio

  • Crea l'oggetto pd.ExcelFile() usando il file listings.xlsx e assegnalo alla variabile xls.
  • Recupera i nomi dei fogli dall'attributo .sheet_names di xls e assegnali a exchanges.
  • Crea una lista vuota e assegnala alla variabile listings.
  • Itera su exchanges usando un ciclo for con exchange come variabile iteratrice. A ogni iterazione:
    • Usa pd.read_excel() con xls come sorgente dati, exchange come argomento sheet_name e 'n/a' come na_values per gestire i valori mancanti. Assegna il risultato a listing.
    • Crea una nuova colonna in listing chiamata 'Exchange' con il valore exchange (la variabile iteratrice).
    • Aggiungi (append) il DataFrame listing risultante a listings.
  • Usa pd.concat() per concatenare i contenuti di listings e assegnali a listing_data.
  • Ispeziona i contenuti di listing_data usando .info().

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Create the pd.ExcelFile() object
xls = ____

# Extract the sheet names from xls
exchanges = ____.____

# Create an empty list: listings


# Import the data
for exchange in exchanges:
    listing = pd.____(____, sheet_name=____, na_values='n/a')
    listing['Exchange'] = ____
    listings.____(____)

# Concatenate the listings: listing_data
listing_data = pd.____(____)

# Inspect the results
listing_data.info()
Modifica ed esegui il codice