Pandas read_excel: Baca File Excel di Python
Blog/Tips & Trik/Pandas read_excel: Baca File Excel di Python

Pandas read_excel: Baca File Excel di Python

BimaBima
·16 Juli 2026·8 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

pandas.read_excel() adalah fungsi buat baca file Excel (.xlsx atau .xls) jadi DataFrame di Python. Bentuk dasarnya df = pd.read_excel('data.xlsx'). Kamu bisa pilih sheet lewat sheet_name, lompatin baris judul berantakan pakai skiprows, dan ambil kolom tertentu pakai usecols.

pandas.read_excel() adalah fungsi buat baca file Excel (.xlsx atau .xls) jadi DataFrame di Python. Bentuk dasarnya df = pd.read_excel('data.xlsx').

Di banyak kantor Indonesia, data masih hidup di file Excel. Laporan penjualan, rekap stok, hasil survei, semuanya .xlsx dengan banyak sheet dan baris judul di atas. read_excel narik semua itu ke Python biar bisa diolah lebih serius. Di bawah ini ada cara pakainya, parameter penting, sampai solusi error openpyxl.

Apa itu pandas read_excel?

read_excel adalah fungsi pandas yang baca file Excel lalu ngubahnya jadi DataFrame, tabel dengan baris dan kolom yang siap diolah. Beda sama file CSV, file Excel bisa punya banyak sheet, format sel, dan tata letak yang nggak selalu rapi. read_excel nangani itu semua lewat parameter yang fleksibel.

Gimana cara pakai read_excel paling dasar?

Import pandas, lalu panggil read_excel dengan nama file:

import pandas as pd

df = pd.read_excel('laporan.xlsx')
print(df.head())

Secara default, pandas baca sheet pertama. Kalau muncul error soal engine, install dulu openpyxl lewat pip install openpyxl.

Parameter read_excel yang paling sering dipakai

ParameterGunanyaContoh
sheet_namePilih sheet manasheet_name='Penjualan'
skiprowsLompatin baris atasskiprows=3
headerBaris nama kolomheader=2
usecolsPilih kolomusecols='A:D'
dtypePaksa tipe datadtype={'kode':str}

Sama kayak read_csv, dtype={'kode':str} penting buat jaga kode produk atau nomor HP yang diawali nol biar nggak ilang.

Gimana cara baca sheet tertentu?

Pakai sheet_name dengan nama atau nomor indeks:

# berdasarkan nama
df = pd.read_excel('laporan.xlsx', sheet_name='Penjualan')

# berdasarkan indeks (mulai 0)
df = pd.read_excel('laporan.xlsx', sheet_name=1)

# semua sheet sekaligus (jadi dictionary)
semua = pd.read_excel('laporan.xlsx', sheet_name=None)

Kalau pakai sheet_name=None, kamu dapet dictionary. Ambil satu sheet pakai semua['Penjualan'].

Contoh kasus: baca laporan penjualan toko_berkah

Anggap file toko_berkah.xlsx punya logo dan judul di 3 baris pertama, baru tabel asli mulai di baris ke-4. Ada juga sheet terpisah buat tiap cabang.

import pandas as pd

df = pd.read_excel(
    'toko_berkah.xlsx',
    sheet_name='Cabang Bandung',
    skiprows=3,
    dtype={'kode_produk': str}
)

print(df.shape)

Dengan skiprows=3, tiga baris hiasan di atas dilompatin, jadi pandas langsung ngambil header dari baris tabel yang bener. Misal sheet cabang ini punya 1.800 baris transaksi, df.shape ngasih (1800, 7). Dari sini kamu bisa gabungin data semua cabang atau hitung total per produk.

Kalau sumber datamu berupa CSV, bukan Excel, cara bacanya sedikit beda. Cek panduannya di pandas read_csv.

Gimana cara gabung semua sheet jadi satu DataFrame?

Kalau tiap cabang punya sheet sendiri dengan kolom yang sama, gabungin pakai concat:

semua = pd.read_excel('toko_berkah.xlsx', sheet_name=None, skiprows=3)
df_gabung = pd.concat(semua.values(), ignore_index=True)

semua.values() ngasih semua DataFrame per sheet, lalu concat nyatuin jadi satu tabel panjang.

Kesalahan umum saat pakai read_excel

  • Error butuh openpyxl - install dulu pakai pip install openpyxl.
  • Nama kolom aneh (Unnamed: 0) - ada baris judul di atas tabel. Pakai skiprows atau header.
  • Nol di depan kode ilang - paksa jadi teks pakai dtype=str.
  • Baca lambat buat file besar - Excel emang lebih berat dari CSV. Kalau data gede dan sering dibaca, ekspor ke CSV dulu.

FAQ

Pertanyaan yang sering muncul soal read_excel ada di bagian bawah ini.

Penutup

read_excel narik data dari file Excel yang berantakan sekalipun jadi DataFrame yang rapi. Inget parameter kuncinya: sheet_name buat pilih tab, skiprows buat buang baris judul, dan dtype buat jaga kode angka.

Mau lanjut olah DataFrame setelah datanya kebaca? Kulik latihan Python data di NgulikData, atau baca dokumentasi resmi di pandas.pydata.org. Buat kelompokkin data hasil bacaan per rentang waktu, lihat juga SQL date bucketing.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

NumPy reshape: Ubah Bentuk Array (2026)
Tips & Trik
8 Oktober 2026•9 menit baca

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.

BimaBima
NumPy Array: Dasar-Dasar untuk Analis Data (2026)
Tips & Trik
6 Oktober 2026•10 menit baca

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.

BimaBima
Alternatif iterrows yang Lebih Cepat di Pandas
Tips & Trik
3 Oktober 2026•8 menit baca

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.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore