[Tips Python] Membaca dan Menulis File CSV

Apa kabar PythonMania? Semoga sehat selalu ya…

Lama tak menulis, rasanya kangen sekali untuk berbagi tips-tips Python. Nah, untuk mengobati kangen ini, kita ingin berbagi yang simple-simple aja ya. Tema kita kali ini adalah “Bagaimana Membaca dan Menulis File CSV via Python?” Jawabannya adalah Sangat MUDAH!…hehehe. Yuk kita simak sama-sama ya…

Membaca dan Menulis File CSV di Pemrograman Python - http://www.planwallpaper.com

Membaca dan Menulis File CSV di Pemrograman Python – http://www.planwallpaper.com

Menurut Wikipedia, Comma Separated Value (disingkat CSV) adalah suatu format data dalam basis data dimana setiap record dipisahkan dengan tanda koma (,) atau titik koma (;). Selain sederhana, format ini dapat dibuka dengan berbagai text-editor seperti Notepad, Wordpad, bahkan MS Excel.

Membuat File CSV
Langkah awal, kita akan membuat file csv sederhana menggunakan teks editor Notepad. File ini sangat sederhana karena terdiri dari 4 field, yaitu Nama, Kelas, Sekolah, Kota. Nama field kita tulis di awal teks (baris pertama). Setiap field kita pisahkan dengan tanda koma. (namafile: datasiswa.csv)

Nama,Kelas,Sekolah,Kota
Asyam,12 IPA,SMAN 1 Malang,Malang
Anton,12 IPA,SMAN 2 Sragen,Sragen
Fithrotul,12 IPA,SMAN 1 Turen,Malang
Ilham,12 IPA,SMAN 8 Ternate,Ternate
Aditya,12 IPA,MAN Pacet,Cianjur

datasiswa-csv

Membaca File CSV
Sekarang saatnya kita buat kode Python untuk membaca file datasiswa.csv yang telah kita buat sebelumnya. Buka IDLE Python, pilih New File. Skrip ini kita beri nama bacacsv.py. Simpan di folder yang sama dengan file datasiswa.csv. Berikut listing lengkapnya.

# file: bacacsv.py

import csv

with open('datasiswa.csv', 'r') as filecsv:
    datafile = csv.reader(filecsv)
    for data in datafile:
        print(data)

Sekarang jalankan skrip bacacsv.py. Dari IDLE Python, ketik F5. Dan akan keluar hasilnya. Mudah sekali kan?

read-csv

Penjelasan:
(*) Agar kita bisa membaca file csv, maka kita harus menggunakan modul csv.

import csv

(*) Baca file csv dengan metode csv.reader().

with open('datasiswa.csv', 'r') as filecsv:
    datafile = csv.reader(filecsv)

(*) Menampilkan data yang telah dibaca dalam bentuk list.

    for data in datafile:
        print(data)

Menuliskan File CSV
Berikutnya, kita akan menambahkan dua data siswa pada file datasiswa.csv.

  1. Nama: Faisal, Kelas: 12 IPA, Sekolah: SMA Brawijaya Smart School, Kota: Malang
  2. Nama: Fawwaz, Kelas: 12 IPA, Sekolah: SMAN 10 Leadership Academy, Kota: Malang

Kita akan membuat skrip Python dengan tuliscsv.py. Sekali lagi, simpan di tempat yang sama dengan file csv kita sebelumnya. Berikut ini kode programnya:

# file: tuliscsv.py

import csv

databaru = [
    ['Faisal', '12 IPA', 'SMA Brawijaya Smart School', 'Malang'],
    ['Fawwaz', '12 IPA', 'SMAN 10 Leadership Academy', 'Malang']   
    ]

with open('datasiswa.csv', 'a', newline='') as filecsv:
    datafile = csv.writer(filecsv)
    datafile.writerows(databaru)

Jalankan skrip tuliscsv.py. Kemudian untuk melihat hasilnya, jalankan file bacacsv.py. Inilah hasilnya.

save-csv

Penjelasan:
(*) Data siswa baru.

databaru = [
    ['Faisal', '12 IPA', 'SMA Brawijaya Smart School', 'Malang'],
    ['Fawwaz', '12 IPA', 'SMAN 10 Leadership Academy', 'Malang']   
    ]

(*) Untuk menyimpan data baru, kita gunakan csv.writer(), dengan mode ‘a’ (append). Jika akan membuat file baru, ubah modenya menjadi ‘w’.

with open('datasiswa.csv', 'a', newline='') as filecsv:
    datafile = csv.writer(filecsv)

(*) Untuk menuliskan semua data baru, kita menggunakan metode writerows().

    datafile.writerows(databaru)

Wow…Ternyata membaca dan menulis file CSV di Python Sangat Mudah. Semoga Bermanfaat!

Salam PythonMania!

# artikel ini terinspirasi dari InfoLinux Edisi 06 Tahun 2009 dengan penulis Noprianto (Terimakasih Mr. Noprianto…hehehe)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s