Python Academy · Pelajaran

Membaca CSV dengan csv.reader

Baca file CSV baris demi baris dan akses kolom berdasarkan indeks.

Pelajaran 3 dari 414 langkah

Membaca CSV dengan csv.reader adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pengantar

Modul csv Python menangani kerumitan berkas CSV: bidang yang diberi tanda kutip, pemisah, dan akhiran baris yang berbeda.

Membuka Berkas CSV

with open('data.csv', newline='') as f: adalah cara yang direkomendasikan — newline='' memungkinkan modul csv menangani akhiran baris.
import csv, io
sample = 'name,age,city\nAlice,30,NYC\nBob,25,LA'
reader = csv.reader(io.StringIO(sample))
for row in reader:
    print(row)

Dasar-Dasar csv.reader

csv.reader(f) mengembalikan iterator baris, dengan setiap baris berupa list string.
import csv, io
data = 'a,b,c\n1,2,3\n4,5,6'
for row in csv.reader(io.StringIO(data)):
    print(row)

Melewati Header

next(reader) melewati baris header. Atau gunakan csv.DictReader untuk mengakses kolom berdasarkan nama.
import csv, io
data = 'name,age\nAlice,30\nBob,25'
reader = csv.reader(io.StringIO(data))
header = next(reader)  # skip
for row in reader:
    print(row)

Pemisah Khusus

csv.reader(f, delimiter=';') membaca berkas yang dipisahkan dengan titik koma. Ini berfungsi dengan pemisah satu karakter apa pun.
import csv, io
data = 'a;b;c\n1;2;3'
for row in csv.reader(io.StringIO(data), delimiter=';'):
    print(row)

Menangani Bidang Bertanda Kutip

csv.reader menangani bidang bertanda kutip secara otomatis: 'Alice, Jr.' tetap menjadi satu bidang.
import csv, io
data = 'name,note\n"Smith, John","great guy"'
for row in csv.reader(io.StringIO(data)):
    print(row)

csv.DictReader

DictReader memetakan setiap baris ke OrderedDict (atau dict biasa pada versi 3.8 dan yang lebih baru) dengan menggunakan baris header sebagai kunci.
import csv, io
data = 'name,age\nAlice,30\nBob,25'
for row in csv.DictReader(io.StringIO(data)):
    print(row['name'], row['age'])

Konversi Tipe

Nilai CSV selalu berupa string. Lakukan konversi secara eksplisit: int(row['age']), float(row['price']).
import csv, io
data = 'item,price\napple,1.5\nbanana,0.75'
for row in csv.DictReader(io.StringIO(data)):
    print(row['item'], float(row['price'])*2)

Menangani Pengodean

open(file, encoding='utf-8-sig') menangani BOM UTF-8 (umum pada CSV yang dibuat oleh Excel).
# with open('data.csv', encoding='utf-8-sig', newline='') as f:
#     reader = csv.DictReader(f)
print('encoding demo')

Berkas CSV Besar

csv.reader bersifat malas — modul ini membaca satu baris setiap kali. Anda tidak perlu memuat seluruh berkas ke memori.
import csv, io
data = '\n'.join(f'{i},{i*2}' for i in range(1000))
reader = csv.reader(io.StringIO(data))
print(sum(int(row[0]) for row in reader))

Mendeteksi Dialek

csv.Sniffer().sniff(sample) mendeteksi pemisah dan gaya pemberian tanda kutip secara otomatis.
import csv, io
data = 'a|b|c\n1|2|3'
sniff = csv.Sniffer().sniff(data[:100])
print('delimiter:', sniff.delimiter)
for row in csv.reader(io.StringIO(data), dialect=sniff):
    print(row)

Pemeriksaan Cepat

Parameter apa yang harus selalu Anda tetapkan saat membuka berkas CSV dengan open()?

Ringkasan

csv.reader: baris sebagai list string. DictReader: baris sebagai dict. Selalu buka dengan newline=''. Tangani pengodean untuk berkas Excel. Konversikan tipe secara eksplisit.

Lanjutkan

Pertahankan usaha Anda! Lanjutkan ke pelajaran berikutnya.
Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
76
Pelajaran
320

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membaca CSV dengan csv.reader” gratis?

Ya — teks lengkap “Membaca CSV dengan csv.reader” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Membaca CSV dengan csv.reader”?

Baca file CSV baris demi baris dan akses kolom berdasarkan indeks. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Membaca CSV dengan csv.reader” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Encoding dan Decoding JSON
  2. Menangani Struktur JSON Bersarang
  3. Membaca CSV dengan csv.reader
  4. Menulis CSV dengan csv.DictWriter
← Kembali ke Python Academy