Pandas read_csv: Baca File CSV di Python untuk Analis
TL;DR
pandas.read_csv() adalah fungsi buat baca file CSV jadi DataFrame di Python cuma dengan satu baris kode. Bentuk dasarnya df = pd.read_csv('data.csv'). Kamu bisa atur pemisah lewat sep, encoding buat file berkarakter khusus, dan usecols buat ambil kolom tertentu aja.
pandas.read_csv() adalah fungsi buat baca file CSV jadi DataFrame di Python cuma dengan satu baris kode. Bentuk dasarnya df = pd.read_csv('data.csv').
Hampir semua analisis data di Python mulai dari sini. Data penjualan, ekspor dari database, hasil download dashboard, semuanya sering datang dalam format CSV. Di bawah ini kamu bakal lihat cara pakai read_csv, parameter yang paling sering dibutuhin, sampai cara benerin error encoding yang bikin frustasi.
Apa itu pandas read_csv?
read_csv adalah fungsi pandas yang baca file berformat CSV lalu ngubahnya jadi DataFrame, yaitu tabel dengan baris dan kolom yang siap kamu olah. Sekali dibaca, kamu bisa filter, hitung, gabung, atau visualisasikan datanya. Fungsi ini pintu masuk paling umum buat kerja data di Python.
Gimana cara pakai read_csv paling dasar?
Pertama import pandas, lalu panggil read_csv dengan path file:
import pandas as pd
df = pd.read_csv('penjualan.csv')
print(df.head())
df.head() nampilin 5 baris pertama biar kamu bisa cek datanya kebaca bener. Kalau file ada di folder lain, kasih path lengkap, misalnya 'data/penjualan.csv'.
Parameter read_csv yang paling sering dipakai
Data di dunia nyata jarang rapi. Parameter ini yang bakal sering kamu butuh:
| Parameter | Gunanya | Contoh |
|---|---|---|
| sep | Ganti karakter pemisah | sep=';' |
| encoding | Atur encoding file | encoding='latin-1' |
| usecols | Pilih kolom tertentu | usecols=['tanggal','total'] |
| nrows | Batasi jumlah baris | nrows=1000 |
| parse_dates | Baca kolom sebagai tanggal | parse_dates=['order_date'] |
| dtype | Paksa tipe data kolom | dtype={'kode':str} |
Salah satu yang paling penting buat data Indonesia adalah dtype={'kode':str}. Ini jaga kode produk atau nomor HP yang diawali angka 0 biar nggak ilang nolnya.
Contoh kasus: baca data penjualan toko_berkah
Anggap kamu punya file toko_berkah.csv hasil ekspor dari Excel. File-nya pakai pemisah titik koma dan ada kolom tanggal serta kode produk yang diawali nol:
import pandas as pd
df = pd.read_csv(
'toko_berkah.csv',
sep=';',
encoding='latin-1',
parse_dates=['order_date'],
dtype={'kode_produk': str}
)
print(df.shape)
print(df.dtypes)
Dengan setelan ini, kolom tanggal langsung jadi tipe datetime dan kode produk tetap utuh. Misal file-nya punya 5.000 baris transaksi, df.shape bakal ngasih (5000, 6), artinya 5.000 baris dan 6 kolom. Dari titik ini kamu udah siap ngitung total omzet per bulan atau nyari produk terlaris.
Habis dibaca, kamu bisa lanjut agregasi pakai groupby. Cek caranya di artikel pandas read_excel kalau sumber datamu berupa file Excel, bukan CSV.
Gimana cara benerin error UnicodeDecodeError?
Ini error paling sering waktu baca CSV dari Excel Indonesia. Penyebabnya encoding file bukan utf-8. Coba urutan ini:
- Tambahin
encoding='latin-1'. Ini nutupin mayoritas kasus. - Kalau masih gagal, coba
encoding='cp1252'. - Masih error juga? Buka file di editor teks buat cek encoding aslinya, lalu pakai nilai itu.
Kesalahan umum saat pakai read_csv
- Semua kolom nyatu jadi satu - pemisahnya bukan koma. Tambahin
sep=';'. - Nol di depan kode ilang - pandas baca sebagai angka. Paksa jadi teks pakai
dtype=str. - Tanggal kebaca sebagai teks - lupa
parse_dates. Tambahin nama kolomnya. - FileNotFoundError - path salah. Cek apakah file ada di folder kerja yang bener pakai
import os; os.getcwd().
FAQ
Pertanyaan yang sering muncul soal read_csv ada di bagian bawah ini.
Penutup
read_csv itu satu baris yang buka pintu ke seluruh analisis data di Python. Inget parameter kuncinya: sep buat pemisah, encoding buat file rewel, dtype buat jaga kode angka, dan parse_dates buat kolom tanggal.
Mau lanjut belajar olah DataFrame setelah datanya kebaca? Kulik latihan Python data di NgulikData, atau baca dokumentasi resmi di pandas.pydata.org. Buat sumber data dari database SQL, lihat juga teknik di SQL date bucketing.
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.