Tutorial OpenCSV Python Untuk Pemula

Cara Membaca File CSV Menggunakan Python

Pada tutorial kali ini kita akan bersama belajar tentang cara membaca file menggunakan python.

Tutorial ini adalah permulaan yang bisa kita pelajari apabila ingin mendalami tentang Data Science, terutama jika menggunakan python.

Langsung saja kita mulai.

  • Untuk tools (Text Editor) kita bebas dapat menggunakan apapun.
  • Pastikan kita telah membuat Virtual Environment untuk project kita.
  • 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
  • Pastikan juga kita telah menguasai beberapa dasar python seperti 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!.

Read Specific rows

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.

Read Specific Columns

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?

Read Specific Columns and 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.

Read Specific Columns for a Range of Rows

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

Conclusion

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 😁.

Next Step >>> How To Read XLSX File Using Python

Terima kasih sudah mau belajar bersama, apabila ada yang kurang jelas maupun keliru silahkan tinggalkan jejak di bawah ya guys, supaya nanti diperbaiki lagi.


Tags: #python, #DataScience, #Blog