Cara Membaca File CSV Menggunakan Python - Pada tutorial kali ini kita akan bersama belajar tentang cara membaca file csv menggunakan python.
Tutorial ini adalah permulaan yang bisa kita pelajari apabila ingin mendalami tentang Data Science, terutama jika menggunakan python.
Langsung saja kita mulai.
Buat lah contoh seperti di bawah ini pada sebuah text editor dan simpan dengan ekstensi .csv
id,name,salary,start_date,dept
1,Siti,623.3,2012-01-01,IT
2,Jono,515.2,2013-09-23,Operations
3,Harto,611,2014-11-15,IT
4,Sumarni,729,2014-05-11,HR
5,Ningsih,843.25,2015-03-27,Finance
6,Juminten,578,2013-05-21,IT
7,Jarwo,632.8,2013-07-30,Operations
8,Parmin,722.5,2014-06-17,Finance
list()
dan dict()
dan sebagainya.Ready? good.
kita akan membuat file dengan nama ds.py
dengan source code sebagai berikut:
import pandas as pd
import numpy as np
namaFile = pd.read_csv('/home/path/menuju/file/kita/sourcefile.csv')
print(namaFile)
Pada contoh di atas kita mengimport package yang bernama numpy
dan pandas
.
Dan pada line berikutnya kita membuat sebuah variable namaFile
, kemudian memanggilnya menggunakan perintah pd.read_csv()
, adalah perintah default dari pandas
itu sendiri untuk memanggil sebuah file dengan ekstensi .csv. Selanjutnya kita memanggilkan dengan metode print(namaFile)
untuk menghasilkan output ketika kita melakukan execute.
Dan hasilnya apabila di eksesuki adalah sebagai berikut:
id name salary start_date dept
0 1 Siti 623.30 2012-01-01 IT
1 2 Jono 515.20 2013-09-23 Operations
2 3 Harto 611.00 2014-11-15 IT
3 4 Sumarni 729.00 2014-05-11 HR
4 5 Ningsih 843.25 2015-03-27 Finance
5 6 Juminten 578.00 2013-05-21 IT
6 7 Jarwo 632.80 2013-07-30 Operations
7 8 Parmin 722.50 2014-06-17 Finance
See? we did it!.
Setelah kita berhasil mengeluarkan output seperti di atas, mari kita membuat sebuah output dengan hasil yang lebih spesifik dengan metode seperti berikut:
# tambahkan line code di bawah ini pada file ds.py
print(namaFile[:1])
lalu kita print ulang dan lihat hasilnya:
id name salary start_date dept
0 1 Siti 623.30 2012-01-01 IT
1 2 Jono 515.20 2013-09-23 Operations
2 3 Harto 611.00 2014-11-15 IT
3 4 Sumarni 729.00 2014-05-11 HR
4 5 Ningsih 843.25 2015-03-27 Finance
5 6 Juminten 578.00 2013-05-21 IT
6 7 Jarwo 632.80 2013-07-30 Operations
7 8 Parmin 722.50 2014-06-17 Finance
# membaca specific rows
id name salary start_date dept
0 1 Rick 623.3 2012-01-01 IT
Pada table di atas kita memerintahkan pandas untuk mengeluarkan output 1 nama, dan hasil tersebut akan diambil dari urutan pertama / paling atas yaitu Rick.
Dan dikarenakan metode yang kita gunakan adalah list()
, maka apabila kita ingin memunculkan nama lainnya secara berurutan dapat menggunakan metode seperti:
# tambahkan line code di bawah ini pada file ds.py
print(namaFile[:3])
Perintah di atas adalah kita ingin melihat hasil yang berurutan dimulai dari paling atas hingga row ketiga. Dan apabila di execute maka akan muncul:
id name salary start_date dept
0 1 Siti 623.30 2012-01-01 IT
1 2 Jono 515.20 2013-09-23 Operations
2 3 Harto 611.00 2014-11-15 IT
3 4 Sumarni 729.00 2014-05-11 HR
4 5 Ningsih 843.25 2015-03-27 Finance
5 6 Juminten 578.00 2013-05-21 IT
6 7 Jarwo 632.80 2013-07-30 Operations
7 8 Parmin 722.50 2014-06-17 Finance
# membaca spesific rows
id name salary start_date dept
0 1 Rick 623.3 2012-01-01 IT
1 2 Dick 515.2 2013-09-23 Operations
2 3 John 611.0 2014-11-15 IT
Apabila kita ingin membaca rows berdasarkan nama divisi / department maupun nama, gunakanlah perintah di bawah ini:
# kita akan mencoba membaca nama department pada csv file tersebut.
print(namaFile['dept'])
Pada baris perintah di atas kita menggunakan method list()
dan sebuah value
pada file tersebut.
Output:
id name salary start_date dept
0 1 Siti 623.30 2012-01-01 IT
1 2 Jono 515.20 2013-09-23 Operations
2 3 Harto 611.00 2014-11-15 IT
3 4 Sumarni 729.00 2014-05-11 HR
4 5 Ningsih 843.25 2015-03-27 Finance
5 6 Juminten 578.00 2013-05-21 IT
6 7 Jarwo 632.80 2013-07-30 Operations
7 8 Parmin 722.50 2014-06-17 Finance
# menbaca spesific rows berdasarkan 'value'
0 IT
1 Operations
2 IT
3 HR
4 Finance
5 IT
6 Operations
7 Finance
Name: dept, dtype: object
Maka hanya nama department lah yang akan muncul.
Baca juga: Tutorial Fungsi Python: Panduan Lengkap untuk Pemula
Setelah rows, mari kita coba untuk membaca spesifik kolom yang ada pada file tersebut dengan menggunakan method:
print (namaFile.loc[:,['name', 'salary']])
Pada baris di atas kita menggunakan .loc
untuk mencari column yang lebih spesifik. Sedangkan :
adalah perintah untuk mencari dari awal hingga akhir file tersebut berada.
Dan output yang akan dihasilkan:
name salary
0 Siti 623.30
1 Jono 515.20
2 Harto 611.00
3 Sumarni 729.00
4 Ningsih 843.25
5 Juminten 578.00
6 Jarwo 632.80
7 Parmin 722.50
Kita berhasil membaca dua columns tersebut. Lalu bagaimana jika kita ingin membaca spesifik columns dan rows?
Untuk membaca column dan rows yang lebih spesifik kita dapat menggunakan .loc
dan list()
seperti di bawah ini:
print(namaFile.loc[[0,1,4,7],['name','salary']])
Pada table di atas kita menggunakan metode indes.list()
untuk mencari nama dan salary pegawai berdasarkan rows 0, 1, 4, 7
dan columns 'name'
dan 'salary'
.
Output:
name salary
0 Siti 623.30
1 Jono 515.20
4 Ningsih 843.25
7 Parmin 722.50
See? kita berhasil membaca rows dan column yang lebih spesifik.
Baca juga: Cara Membaca File CSV Menggunakan JavaScript
Seperti halnya list yang telah kita pelajari kemarin, kita pun dapat membaca spesific columns pada range tertentu dengan menggunakan:
print(namaFile.loc[2:6,['name','salary']])
Pada baris tersebut kita ingin membaca dua column dan rows pada index ke-2 hingga 6 yang ada pada namaFile
dengan method index.list()
.
name salary
2 Harto 611.00
3 Sumarni 729.00
4 Ningsih 843.25
5 Juminten 578.00
6 Jarwo 632.80
Pada dasarnya, metode-metode di atas adalah adalah metode dasar pada python list()
seperti yang pernah kita pelajari sebelumnya. hanya saja cara penggunaannya yang berbeda dan sedikit tricky.
Karena perintah list dasar pun dapat kita gunakan, seperti:
print(data.loc[::-1,['name','salary']])
Pada baris di atas kita ingin mencoba membalikkan / reverse method pada csv
file yang kita miliki.
Output:
name salary
7 Parmin 722.50
6 Jarwo 632.80
5 Juminten 578.00
4 Ningsih 843.25
3 Sumarni 729.00
2 Harto 611.00
1 Jono 515.20
0 Siti 623.30
That’s it!, Thanks for reading guys 😁.
Terima kasih sudah mau belajar bersama, apabila ada yang kurang jelas maupun keliru silahkan tinggalkan jejak di bawah ya guys, supaya nanti diperbaiki lagi.
Baca juga tutorial data-science untuk beginner lainnya: