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.
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.
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'.
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.
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.
Ini error paling sering waktu baca CSV dari Excel Indonesia. Penyebabnya encoding file bukan utf-8. Coba urutan ini:
encoding='latin-1'. Ini nutupin mayoritas kasus.encoding='cp1252'.sep=';'.dtype=str.parse_dates. Tambahin nama kolomnya.import os; os.getcwd().Pertanyaan yang sering muncul soal read_csv ada di bagian bawah ini.
Error itu muncul karena encoding file nggak cocok sama default pandas (utf-8). File dari Excel Indonesia sering pakai encoding latin-1 atau cp1252. Coba tambahin parameter encoding, misalnya pd.read_csv('data.csv', encoding='latin-1'). Kalau masih gagal, buka file pakai editor teks buat cek encoding aslinya, lalu sesuaikan.
File CSV dari Excel versi Indonesia sering pakai titik koma, bukan koma. Tambahin parameter sep, jadi pd.read_csv('data.csv', sep=';'). Kalau nggak, semua kolom bakal nyatu jadi satu. Pandas juga punya sep=None dengan engine='python' buat nebak pemisah otomatis, walau kadang kurang akurat buat data aneh.
Bisa. Pakai usecols buat pilih kolom tertentu, misalnya usecols=['tanggal', 'total']. Buat batasi jumlah baris, pakai nrows, misalnya nrows=1000 buat ngintip file besar tanpa muat semuanya. Ini kepake banget waktu filenya gede dan kamu cuma butuh sampel buat ngecek strukturnya dulu.
Tambahin parameter parse_dates berisi nama kolom tanggal, misalnya parse_dates=['order_date']. Pandas bakal ngubah kolom itu jadi tipe datetime, jadi kamu bisa langsung filter per bulan atau hitung selisih hari. Tanpa ini, tanggal kebaca sebagai teks biasa dan susah diolah buat analisis waktu.
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.
Nama toko ketik campur huruf besar-kecil, spasi nyasar di ujung, atau kode produk nempel jadi satu. Accessor .str di pandas ngerapiin semua itu tanpa loop.
Model machine learning cuma ngerti angka, bukan teks kayak merah atau biru. get_dummies ngubah kolom kategori jadi kolom 0/1 dalam satu baris kode.
Cara pakai pandas crosstab buat bikin tabel silang yang menghitung frekuensi antar dua kategori. Contoh analisis kategori produk per kota UMKM.