Lompat ke konten utama
←

Otomasi Excel dengan Python

Pelajaran 15 dari 18

pandas dan Excel

to_excel dan ExcelWriter: menulis beberapa sheet

Setelah pelajaran ini kamu bisa menulis DataFrame ke Excel tanpa kolom indeks, dan menulis beberapa DataFrame ke sheet berbeda dalam satu berkas.

±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

df.to_excel("hasil.xlsx", sheet_name="Data", index=False) menulis DataFrame ke berkas baru: judul kolom di baris 1, data di bawahnya. Tanpa index=False, pandas menambahkan kolom A berisi nomor indeks 0, 1, 2 dengan judul kosong, dan semua kolom datamu bergeser satu ke kanan — tabel yang membingungkan siapa pun yang membukanya di Excel.

Untuk beberapa sheet dalam satu berkas, buka satu pd.ExcelWriter lalu panggil to_excel untuk setiap DataFrame dengan sheet_name berbeda. Blok with menyimpan dan menutup berkas saat blok selesai.

import pandas as pd

masuk = pd.DataFrame({"barang": ["Kertas", "Tinta"], "jumlah": [40, 6]})
keluar = pd.DataFrame({"barang": ["Kertas"], "jumlah": [12]})
with pd.ExcelWriter("mutasi.xlsx", engine="openpyxl") as writer:
    masuk.to_excel(writer, sheet_name="Masuk", index=False)
    keluar.to_excel(writer, sheet_name="Keluar", index=False)

Memanggil df.to_excel("laporan.xlsx", ...) dua kali dengan nama berkas yang sama tidak menghasilkan dua sheet: panggilan kedua menulis berkas baru dan sheet pertama hilang. Dokumentasi pandas menyebut alasannya — mode bawaan ExcelWriter adalah menulis, yang menimpa berkas bernama sama. Untuk menambah sheet ke berkas yang sudah ada, pakai mode="a"; bila sheet bernama sama sudah ada, pandas berhenti dengan ValueError: Sheet 'Data' already exists and if_sheet_exists is set to 'error', kecuali if_sheet_exists="replace" disebut.

Latihan

0/3 lulus

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

Latihan 3 dari 3

Skrip menjalankan df1.to_excel("laporan.xlsx", sheet_name="Penjualan") lalu df2.to_excel("laporan.xlsx", sheet_name="Retur"). Sheet apa saja yang ada di laporan.xlsx?

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