Mulai sekarangMulai gratis

Otomatisasi pemuatan dan penggabungan data dari beberapa lembar kerja Excel

Sekarang Anda siap mengotomatisasi proses impor informasi listing dari ketiga bursa dalam file Excel listings.xlsx dengan menerapkan sebuah for loop. Berikut yang akan Anda lakukan:

  1. Ambil nama-nama sheet dari objek pd.ExcelFile() menggunakan atribut sheet_names.
  2. Buat sebuah list kosong.
  3. Tulis for loop yang mengiterasi nama-nama sheet tersebut untuk membaca data dari nama sheet terkait di file Excel ke dalam sebuah variabel. Tambahkan kolom referensi jika diinginkan. Tambahkan isi variabel ini ke dalam list pada setiap iterasi.
  4. Konkatenasikan DataFrame dalam list tersebut.

Seperti biasa, rujuk latihan sebelumnya di bab ini atau dokumentasi pandas jika Anda memerlukan bantuan. pandas telah diimpor sebagai pd.

Latihan ini merupakan bagian dari kursus

Mengimpor dan Mengelola Data Keuangan di Python

Lihat Kursus

Instruksi latihan

  • Buat objek pd.ExcelFile() menggunakan file listings.xlsx dan simpan ke variabel xls.
  • Ambil nama-nama sheet dari atribut .sheet_names milik xls dan simpan ke exchanges.
  • Buat sebuah list kosong dan simpan ke variabel listings.
  • Iterasikan exchanges menggunakan for loop dengan exchange sebagai variabel iterator. Pada setiap iterasi:
    • Gunakan pd.read_excel() dengan xls sebagai sumber data, exchange sebagai argumen sheet_name, dan 'n/a' sebagai na_values untuk menangani nilai yang hilang. Simpan hasilnya ke listing.
    • Buat kolom baru di listing bernama 'Exchange' dengan nilai exchange (variabel iterator).
    • Tambahkan DataFrame listing yang dihasilkan ke listings.
  • Gunakan pd.concat() untuk menggabungkan isi listings dan simpan ke listing_data.
  • Periksa isi listing_data menggunakan .info().

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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()
Edit dan Jalankan Kode