Pandas to_excel: Ekspor DataFrame ke Excel (2026)
TL;DR
Method to_excel di pandas nyimpen DataFrame jadi file Excel dengan perintah df.to_excel('nama.xlsx', index=False). Kamu butuh library openpyxl kepasang. Buat nulis beberapa DataFrame ke sheet berbeda dalam satu file, pakai pd.ExcelWriter sebagai konteks.
Method to_excel di pandas nyimpen DataFrame jadi file Excel .xlsx cuma dengan satu baris: df.to_excel('laporan.xlsx', index=False).
Ini langkah terakhir yang paling sering kepake. Kamu udah olah data di Python, terus bosnya minta hasilnya dalam Excel biar gampang dibuka orang non-teknis.
Di artikel ini kamu bakal belajar cara ekspor satu sheet, ngatur nama sheet, nulis banyak DataFrame ke satu file, plus error umum yang bikin script gagal jalan.
Apa itu to_excel di pandas?
to_excel adalah method bawaan DataFrame yang nulis isinya ke file Excel. Kamu tinggal kasih nama file, dan pandas ngurus sisanya. Method ini pasangan dari read_excel yang tugasnya baca file Excel ke Python.
Satu hal yang perlu disiapin: pandas butuh library openpyxl buat nulis format .xlsx. Kalau belum ada, pasang dulu.
pip install openpyxl
Gimana cara ekspor DataFrame ke Excel?
Bentuk paling dasar cuma butuh nama file. Anggap kamu punya DataFrame bernama df berisi data penjualan.
import pandas as pd
df = pd.DataFrame({
'produk': ['Beras 5kg', 'Minyak 2L', 'Gula 1kg'],
'terjual': [120, 85, 143]
})
df.to_excel('penjualan.xlsx', index=False)
Setelah dijalanin, muncul file penjualan.xlsx di folder yang sama dengan script kamu. Isinya persis kolom produk dan terjual.
Perhatiin argumen index=False. Tanpa itu, pandas ikut nulis kolom index (0, 1, 2) di paling kiri. Di laporan final, kolom itu biasanya cuma bikin berantakan, jadi mending dimatiin.
Gimana cara kasih nama sheet?
Secara default, pandas namain sheet-nya 'Sheet1'. Kalau kamu mau nama yang lebih jelas, pakai argumen sheet_name.
df.to_excel('penjualan.xlsx', sheet_name='Juli 2026', index=False)
Sekarang tab sheet-nya bertuliske 'Juli 2026'. Sepele, tapi bikin file kamu keliatan lebih niat waktu dibuka orang lain.
Gimana cara nulis banyak sheet ke satu file?
Ini kebutuhan yang sering muncul: satu workbook, beberapa sheet. Misalnya sheet data mentah dan sheet ringkasan. Caranya pakai pd.ExcelWriter sebagai context manager.
ringkasan = df.groupby('produk')['terjual'].sum().reset_index()
with pd.ExcelWriter('laporan_lengkap.xlsx') as writer:
df.to_excel(writer, sheet_name='Data Mentah', index=False)
ringkasan.to_excel(writer, sheet_name='Ringkasan', index=False)
Blok with ngebuka writer sekali, terus dua DataFrame ditulis ke sheet berbeda dalam file yang sama. Begitu blok selesai, file otomatis ke-save dan ketutup dengan bener.
Contoh kasus: laporan bulanan toko_berkah
Anggap kamu ngolah data transaksi toko_berkah, UMKM sembako di Bandung. Ada 3.400 baris transaksi Juli yang udah kamu bersihin di pandas. Pemilik toko minta dua hal dalam satu file Excel: rincian transaksi dan ringkasan per kategori.
with pd.ExcelWriter('toko_berkah_juli.xlsx') as writer:
transaksi.to_excel(writer, sheet_name='Transaksi', index=False)
per_kategori = transaksi.groupby('kategori')['nominal'].sum().reset_index()
per_kategori.to_excel(writer, sheet_name='Per Kategori', index=False)
Dari sampel data ngulikdata, sheet ringkasan nunjukin kategori sembako pokok nyumbang Rp 71.500.000 dari total, alias sekitar 62 persen omzet bulan itu. Angka kayak gini yang bikin pemilik toko langsung ngerti sheet mana yang perlu dilihat duluan.
Buat baca file Excel balik ke Python, alurnya kebalik dan bisa kamu pelajari di panduan pandas read_excel.
Kesalahan umum pakai to_excel
Lupa install openpyxl. Error 'No module named openpyxl' itu paling sering muncul. Jalanin pip install openpyxl dan beres.
File lagi kebuka di Excel. Kalau file target lagi kamu buka di aplikasi Excel, pandas nggak bisa nimpa dan bakal error permission. Tutup dulu filenya sebelum jalanin script.
Lupa reset_index setelah groupby. Hasil groupby nyimpen kolom pengelompok sebagai index. Kalau nggak di-reset_index, hasil Excel kamu bakal keliatan aneh. Detail semua argumen to_excel ada di dokumentasi resmi pandas.
FAQ
Pertanyaan yang sering muncul soal ekspor DataFrame ke Excel.
Penutup
Ekspor ke Excel intinya dua hal: pasang openpyxl, terus panggil to_excel dengan index=False. Kalau butuh lebih dari satu sheet, bungkus pakai ExcelWriter dan kamu bebas nulis DataFrame sebanyak yang kamu mau ke satu file.
Mau lengkapin alurnya? Pelajari pandas read_csv buat masukin data dari CSV, atau pandas groupby buat bikin ringkasan sebelum diekspor.
Pengin lancar olah data dari mentah sampai laporan siap kirim? Kulik studi kasus data Indonesia di NgulikData biar kamu terbiasa sama alur kerja analis beneran.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
NumPy reshape: Ubah Bentuk Array (2026)
Fungsi reshape di NumPy ngatur ulang bentuk array tanpa ngubah datanya. Ini cara pakainya, arti angka -1, dan cara ngeflat array.
NumPy Array: Dasar-Dasar untuk Analis Data (2026)
NumPy array bikin hitungan data di Python jauh lebih cepat dari list biasa. Ini dasar bikin, slicing, dan operasi array buat analis.
Alternatif iterrows yang Lebih Cepat di Pandas
iterrows nyaman ditulis tapi lambat. Ini urutan alternatif iterrows di pandas dari yang tercepat, plus benchmark biar kamu tau kapan pakai yang mana.