Začněte nyníZačněte zdarma

Automatizace načítání a spojování dat z více listů Excelového sešitu

Teď je čas zautomatizovat import dat o burzovních kotacích ze všech tří burz v souboru listings.xlsx pomocí cyklu for. Postup bude následující:

  1. Získej názvy listů objektu pd.ExcelFile() pomocí jeho atributu sheet_names.
  2. Vytvoř prázdný seznam.
  3. Napiš cyklus for, který prochází tyto názvy listů, načítá data z příslušného listu Excelového souboru do proměnné, přidá referenční sloupec (pokud chceš), a obsah proměnné v každé iteraci přidá do seznamu.
  4. Spoj DataFramy ze seznamu dohromady.

Kdykoli budeš potřebovat pomoc, podívej se na předchozí cvičení v této kapitole nebo do dokumentace pandas. pandas je importován jako pd.

Toto cvičení je součástí kurzu

Importing and Managing Financial Data in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř objekt pd.ExcelFile() ze souboru listings.xlsx a přiřaď ho do proměnné xls.
  • Načti názvy listů z atributu .sheet_names objektu xls a přiřaď je do proměnné exchanges.
  • Vytvoř prázdný seznam a přiřaď ho do proměnné listings.
  • Projdi exchanges pomocí cyklu for s iterační proměnnou exchange. V každé iteraci:
    • Použij pd.read_excel() s xls jako zdrojem dat, exchange jako argumentem sheet_name a 'n/a' jako na_values pro ošetření chybějících hodnot. Výsledek přiřaď do proměnné listing.
    • V listing vytvoř nový sloupec 'Exchange' s hodnotou exchange (iterační proměnná).
    • Přidej výsledný DataFrame listing do seznamu listings.
  • Pomocí pd.concat() spoj obsah seznamu listings a výsledek přiřaď do proměnné listing_data.
  • Prozkoumej obsah listing_data pomocí .info().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód