Lompat ke konten utama
←

Otomasi Excel dengan Python

Pelajaran 14 dari 18

pandas dan Excel

pandas.read_excel: dari sheet ke DataFrame

Setelah pelajaran ini kamu bisa membaca satu sheet, sheet tertentu, atau semua sheet sebuah workbook menjadi DataFrame.

±13 menitDiperiksa 2 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

pd.read_excel("berkas.xlsx") membaca satu sheet menjadi DataFrame dengan baris pertama sebagai nama kolom. Untuk .xlsx, pandas memakai openpyxl sebagai mesinnya; argumen engine="openpyxl" menuliskannya terang-terangan. Argumen sheet_name menentukan sheet mana: bawaannya 0, yaitu sheet pertama; teks memilih sheet dengan namanya; dan None membaca semua sheet sekaligus menjadi dict nama sheet → DataFrame.

Dibanding iter_rows, read_excel cocok ketika langkah berikutnya adalah olahan tabel — menyaring, groupby, menggabungkan — yang sudah kamu kenal dari kelas Analisis Data dengan Python. openpyxl tetap dipakai ketika yang diurus adalah bentuk berkasnya: gaya, rumus, posisi sel.

import pandas as pd

semua = pd.read_excel("kehadiran.xlsx", sheet_name=None, engine="openpyxl")
print(list(semua))                     # ['Senin', 'Selasa']
bagian = []
for hari, d in semua.items():
    bagian.append(d.assign(hari=hari))
gabung = pd.concat(bagian, ignore_index=True)

Pola dict + concat menggantikan perulangan sheet di modul 3: setiap DataFrame diberi kolom asal dengan assign, lalu pd.concat menyusunnya menjadi satu tabel. ignore_index=True memberi nomor baris baru yang berurutan.

Pesan error dan kejutan yang akan kamu temui

ValueError: Worksheet named 'Feb' not found berarti nama sheet tidak persis sama. KeyError dengan nama kolom berarti judul kolom di Excel berbeda ejaan atau berspasi; cetak df.columns. Baris kosong di tengah tabel ikut terbaca sebagai baris NaN. Kolom berumus yang ditulis skrip juga terbaca NaN, karena openpyxl tidak menghitung rumus dan nilai tersimpannya belum ada.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

pd.read_excel("laporan.xlsx") ternyata membaca isi sheet Petunjuk, padahal data ada di sheet Data. Apa sebabnya?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 2 lagi