Cara Membaca dan Menulis File CSV dalam Python: Panduan Komprehensif
Apa Itu File CSV?
File CSV (Comma-Separated Values) menyimpan data tabel dalam teks biasa. Setiap baris mewakili baris, dan bidang individu dipisahkan oleh koma, titik koma, atau pemisah lain. File CSV ringan, didukung luas oleh spreadsheet, database, dan alat analisis data, menjadikannya format yang disukai untuk pertukaran data.
Contoh File CSV
Di bawah ini adalah representasi CSV tipis dari basis data bahasa pemrograman kecil. Baris pertama berisi judul kolom, diikuti oleh baris data.
Data Tabel
| Bahasa pemrograman | Diresain oleh | Muncul | Ekstensi |
| Python | Guido van Rossum | 1991 | .py |
| Java | James Gosling | 1995 | .java |
| C++ | Bjarne Stroustrup | 1983 | .cpp |
Data CSV
Bahasa pemrograman,Diresain oleh,Muncul,Ekstensi Python,Guido van Rossum,1991,.py Java,James Gosling,1995,.java C++,Bjarne Stroustrup,1983,.cpp
Unduh Data CSV
Modul csv Bawaan Python
Modul csv menyediakan alat tingkat rendah untuk membaca dan menulis file CSV. Ia menangani penutupan, pemisah, dan pengakhiri baris secara otomatis, mengurangi kebutuhan untuk manipulasi string manual.
Fungsi Utama
csv.reader() – Iterasi atas baris sebagai list. csv.DictReader() – Konversi baris menjadi kunci dictionary berdasarkan nama kolom. csv.writer() – Tulis baris ke file CSV. csv.DictWriter() – Tulis dictionary ke file CSV. - Helper dialect:
csv.get_dialect(), csv.list_dialects(), csv.register_dialect(), csv.unregister_dialect().
Membaca File CSV
Di bawah ini adalah contoh minimal, siap produksi yang membaca file CSV dan mencetak setiap baris sebagai list Python.
import csv with open('data.csv', mode='r', newline='', encoding='utf-8') as file: reader = csv.reader(file) for row in reader: print(row) Outputnya akan menjadi:
["Bahasa pemrograman", "Diresain oleh", "Muncul", "Ekstensi"] ["Python", "Guido van Rossum", "1991", ".py"] ["Java", "James Gosling", "1995", ".java"] ["C++", "Bjarne Stroustrup", "1983", ".cpp"]
Membaca CSV ke dalam Dictionary
Menggunakan csv.DictReader secara otomatis memetakan baris header ke kunci dictionary, menyederhanakan penanganan data.
import csv with open('data.csv', mode='r', newline='', encoding='utf-8') as file: reader = csv.DictReader(file) for row in reader: print(row) Dictionary yang dihasilkan:
{"Bahasa pemrograman": "Python", "Diresain oleh": "Guido van Rossum", "Muncul": "1991", "Ekstensi": ".py"} {"Bahasa pemrograman": "Java", "Diresain oleh": "James Gosling", "Muncul": "1995", "Ekstensi": ".java"} {"Bahasa pemrograman": "C++", "Diresain oleh": "Bjarne Stroustrup", "Muncul": "1983", "Ekstensi": ".cpp"} Menulis File CSV
Kelas csv.writer dan csv.DictWriter memungkinkan Anda menulis data secara efisien.
import csv rows = [ ["Bahasa pemrograman", "Diresain oleh", "Muncul", "Ekstensi"], ["Python", "Guido van Rossum", "1991", ".py"], ["Java", "James Gosling", "1995", ".java"], ["C++", "Bjarne Stroustrup", "1983", ".cpp"], ] with open('writeData.csv', mode='w', newline='', encoding='utf-8') as file: writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) writer.writerows(rows) File writeData.csv yang dihasilkan akan cocok dengan contoh asli.
Menggunakan Pandas untuk Operasi CSV
Pandas menyederhanakan penanganan CSV dengan memuat data ke dalam DataFrame, memungkinkan manipulasi data yang kuat dengan kode minimal. Instal dengan pip install pandas jika belum tersedia.
Membaca dengan Pandas
import pandas as pd df = pd.read_csv('data.csv') print(df) Output:
Bahasa pemrograman Diresain oleh Muncul Ekstensi 0 Python Guido van Rossum 1991 .py 1 Java James Gosling 1995 .java 2 C++ Bjarne Stroustrup 1983 .cpp
Menulis dengan Pandas
import pandas as pd data = { 'Bahasa pemrograman': ['Python', 'Java', 'C++'], 'Diresain oleh': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'], 'Muncul': ['1991', '1995', '1983'], 'Ekstensi': ['.py', '.java', '.cpp'], } df = pd.DataFrame(data) df.to_csv('pandaresult.csv', index=False) print(df) CSV yang dihasilkan identik dengan asli, tetapi DataFrame menawarkan kemampuan analitik lanjutan.
Kesimpulan
Modul csv dan Pandas Python menyediakan alat yang kuat dan mudah digunakan untuk membaca, menulis, dan memanipulasi file CSV. Menguasai pustaka ini membuka alur kerja data yang efisien di seluruh layanan web, pipeline ETL, dan penelitian ilmiah. Mulai bereksperimen hari ini dan integrasikan penanganan CSV ke dalam proyek Anda dengan percaya diri.