Cara Membaca dan Mengurai File CSV dengan Python
Pelajari cara membaca dan mengurai file CSV dengan Python menggunakan modul csv bawaan. Kuasai bacaan sebagai daftar, pembaca kamus, dan pembatas khusus.
Ikhtisar
CSV (Comma-Separated Values) adalah format file yang ada di mana-mana untuk menyimpan kumpulan data tabular. Baik mengimpor database, mengekspor spreadsheet, atau mengunduh log, membaca CSV adalah keterampilan inti. Python menyertakan modul `csv` bawaan yang berdedikasi dan sangat optimal untuk mengurai file CSV dengan mudah tanpa memerlukan perpustakaan pihak ketiga seperti pandas.
Fungsi `csv.reader` membaca file baris demi baris dan menguraikannya, memisahkan setiap baris dengan pembatas koma dan mengembalikan daftar string. Jika file CSV Anda memiliki baris header (misalnya label kolom), penggunaan `csv.DictReader` sering kali lebih disukai. Secara otomatis menguraikan setiap baris ke dalam kamus yang kuncinya adalah label kolom, membuat kode lebih mudah dibaca dan tahan terhadap perubahan urutan kolom.
Saat membuka file CSV, praktik terbaiknya adalah menyetel `newline=""` dalam pernyataan `open()`. Hal ini mencegah Python melakukan terjemahan baris baru otomatis, yang dapat menyebabkan kesalahan penguraian pada sistem operasi tertentu. Selain itu, selalu tentukan `encoding="utf-8"` untuk menangani karakter khusus.
Kode & Output Eksekusi
Skrip ini mendemonstrasikan penulisan contoh file CSV, dan membacanya menggunakan csv.reader dan csv.DictReader.
import csv
# Writing a sample CSV file
sample_content = [
["name", "role", "salary"],
["Alice", "Developer", "90000"],
["Bob", "Manager", "110000"]
]
with open("employees.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerows(sample_content)
# 1. Reading CSV using csv.reader (List representation)
print("--- Using csv.reader ---")
with open("employees.csv", "r", newline="", encoding="utf-8") as file:
reader = csv.reader(file)
header = next(reader) # Skip header row
print("Header:", header)
for row in reader:
print(f"Employee: {row[0]} | Role: {row[1]}")
# 2. Reading CSV using csv.DictReader (Dictionary representation)
print("\n--- Using csv.DictReader ---")
with open("employees.csv", "r", newline="", encoding="utf-8") as file:
dict_reader = csv.DictReader(file)
for row in dict_reader:
print(f"Name: {row['name']} | Role: {row['role']} | Salary: {row['salary']}")--- Using csv.reader ---
Header: ['name', 'role', 'salary']
Employee: Alice | Role: Developer
Employee: Bob | Role: Manager
--- Using csv.DictReader ---
Name: Alice | Role: Developer | Salary: 90000
Name: Bob | Role: Manager | Salary: 110000Implementasi Langkah demi Langkah
- Impor modul csv bawaan di skrip Anda.
- Buka file CSV menggunakan open("employees.csv", "r", newline="", coding="utf-8") sebagai file.
- Berikan objek file ke csv.reader(file) untuk mengurai baris file sebagai daftar string.
- Gunakan csv.DictReader(file) untuk mengurai baris sebagai pemetaan kamus yang sesuai dengan header kolom.
Pertanyaan yang Sering Diajukan
Mengapa saya harus menyetel newline="" saat membuka file CSV?
Pengaturan newline="" mencegah Python memodifikasi karakter akhir baris secara dinamis, memastikan modul csv dapat mengurai baris baru bergaya csv dengan benar di berbagai sistem operasi.
Bagaimana cara mengurai file CSV yang menggunakan tab atau titik koma, bukan koma?
Anda dapat meneruskan pembatas khusus ke fungsi pembaca: csv.reader(file, delimiter="\t") atau csv.reader(file, delimiter=";").
Topik Terkait
Pelajari cara membaca file dengan Python. Kuasai pernyataan terbuka, readline, readline, dan penanganan pengecualian file dengan aman.
Cara Menulis ke File dengan PythonPelajari cara menulis teks ke file dengan Python. Kuasai perbedaan antara mode tulis ("w") dan tambahkan ("a") dengan pengelola konteks yang aman.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
I/O File Python
Pelajari cara membaca dan menulis file dengan Python. Kuasai open(), read(), write(), dan manajer konteks untuk menangani operasi file dengan aman tanpa kebocoran sumber daya.
Lembar
Referensi cepat untuk membaca dan menulis file dengan Python. Kuasai mode terbuka, pengelola konteks, dan membaca baris demi baris.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.