ПочатиПочніть безкоштовно

Автоматизуйте завантаження та об'єднання даних з кількох аркушів Excel

Тепер ви готові автоматизувати імпорт інформації про лістинги з усіх трьох бірж у файлі listings.xlsx, реалізувавши цикл for. Ось що потрібно зробити:

  1. Отримайте назви аркушів об'єкта pd.ExcelFile() за допомогою його атрибута sheet_names.
  2. Створіть порожній список.
  3. Напишіть цикл for, який проходить через ці назви аркушів, щоб зчитати дані з відповідного аркуша Excel у змінну. За потреби додайте референсну колонку. Додавайте вміст цієї змінної до списку на кожній ітерації.
  4. Об'єднайте датафрейми у списку.

Як завжди, звертайтеся до попередніх вправ у цьому розділі або до документації pandas, якщо вам потрібна допомога. pandas імпортовано як pd.

Ця вправа є частиною курсу

Імпорт і керування фінансовими даними в Python

Переглянути курс

Інструкції до вправи

  • Створіть об'єкт pd.ExcelFile() з файлу listings.xlsx і присвойте змінній xls.
  • Отримайте назви аркушів із атрибута .sheet_names об'єкта xls і присвойте exchanges.
  • Створіть порожній список і присвойте його змінній listings.
  • Ітеруйтеся по exchanges за допомогою циклу for із змінною ітератора exchange. На кожній ітерації:
    • Використайте pd.read_excel() з xls як джерелом даних, exchange як аргументом sheet_name і 'n/a' як na_values для обробки пропущених значень. Присвойте результат змінній listing.
    • Створіть у listing нову колонку 'Exchange' зі значенням exchange (змінна-ітератор).
    • Додайте отриманий датафрейм listing до listings.
  • Використайте pd.concat() для об'єднання вмісту listings і присвойте результат listing_data.
  • Перегляньте вміст listing_data, викликавши .info().

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()
Редагувати та запускати код