Lompat ke konten utama
←

Otomasi Excel dengan Python

Pelajaran 16 dari 18

pandas dan Excel

Dari groupby ke laporan rutin

Setelah pelajaran ini kamu bisa mengubah hasil groupby menjadi sheet laporan, dan menulis satu sheet untuk setiap kelompok dengan nama sheet yang sah.

±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

Laporan rutin hampir selalu berupa ringkasan per kelompok: omzet per cabang, pengeluaran per pos, kehadiran per divisi. groupby dan agg sudah dibahas di kelas Analisis Data; yang baru di sini adalah bentuk keluarannya. Setelah agg, panggil reset_index() agar nama kelompok kembali menjadi kolom biasa, lalu tulis dengan to_excel(..., index=False). Tanpa reset_index, nama kelompok berada di indeks dan hilang bila ditulis dengan index=False.

rekap = (
    df.groupby("divisi")
    .agg(jam=("jam_lembur", "sum"), orang=("nama", "count"))
    .reset_index()
    .sort_values("jam", ascending=False)
)
rekap.to_excel("lembur.xlsx", sheet_name="Per Divisi", index=False)

Satu sheet per kelompok dibuat dengan perulangan for nama, kelompok in df.groupby("cabang"): setiap putaran memberi nama kelompok dan DataFrame berisi barisnya saja, yang ditulis ke ExcelWriter dengan sheet_name=nama. Urutan kelompok mengikuti urutan abjad namanya.

Nama sheet punya aturan

Nama sheet tidak boleh memuat karakter / \ ? * [ ] :. Kategori "Kertas/Map" yang dipakai langsung sebagai nama sheet berhenti dengan ValueError: Invalid character / found in sheet title; ganti karakternya dengan str.replace("/", "-"). Nama yang lebih dari 31 karakter hanya memunculkan UserWarning, tetapi sebagian aplikasi tidak bisa membuka berkasnya, jadi pendekkan.

Latihan

0/3 lulus

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

Latihan 3 dari 3

Skrip menulis satu sheet per kategori dan berhenti dengan ValueError: Invalid character / found in sheet title. Apa yang perlu diubah?

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