Cara Membaca File CSV di Python (Modul, Contoh Panda)

Apa itu file CSV?

A File CSV adalah jenis file teks biasa sederhana yang menggunakan struktur khusus untuk menyusun data tabel. Format standar file CSV ditentukan oleh data baris dan kolom di mana baris baru mengakhiri setiap baris untuk memulai baris berikutnya, dan setiap kolom dipisahkan dengan koma di dalam baris.

CSV adalah format umum untuk pertukaran data karena ringkas, sederhana, dan umum. Banyak layanan online memungkinkan penggunanya mengekspor data tabel dari situs web ke dalam file CSV. File CSV akan dibuka ke Excel, dan hampir semua database memiliki alat untuk mengizinkan impor dari file CSV.

File Contoh CSV

Data dalam bentuk tabel disebut juga CSV (comma-separated value) – yang secara harafiah berarti “nilai yang dipisahkan koma”. Ini adalah format teks yang ditujukan untuk penyajian data tabular. Setiap baris file adalah satu baris tabel. Nilai masing-masing kolom dipisahkan dengan simbol pemisah – koma (,), titik koma (;) atau simbol lainnya. CSV dapat dengan mudah dibaca dan diproses Python.

Perhatikan Tabel berikut ini

Tabel Data

Bahasa pemrograman Dirancang oleh Muncul Perpanjangan
Python Guido van Rossum 1991 .py
Java james goslin 1995 .Jawa
C++ Bjarne Stroustrup 1983 .cpp

Anda dapat merepresentasikan tabel ini dalam csv seperti di bawah ini.

Data CSV

Bahasa pemrograman, Dirancang oleh, Muncul, Ekstensi

Python, Guido van Rossum, 1991, .py

JavaJames Gosling, 1995, .java

C++, Bjarne Stroustrup,1983,.cpp

Seperti yang Anda lihat, setiap baris adalah baris baru, dan setiap kolom dipisahkan dengan koma. Ini adalah contoh tampilan file CSV.

Unduh Data CSV

Python Modul CSV

Python menyediakan modul CSV untuk menangani file CSV. Untuk membaca/menulis data, Anda perlu mengulang baris CSV. Anda perlu menggunakan metode split untuk mendapatkan data dari kolom tertentu.

Fungsi Modul CSV

Dalam dokumentasi modul CSV Anda dapat menemukan fungsi berikut:

  • csv.field_size_limit – mengembalikan ukuran bidang maksimum
  • csv.get_dialect – dapatkan dialek yang dikaitkan dengan namanya
  • csv.list_dialects – menampilkan semua dialek yang terdaftar
  • csv.reader – membaca data dari file csv
  • csv.register_dialect – mengasosiasikan dialek dengan nama
  • csv.writer – menulis data ke file csv
  • csv.unregister_dialect – menghapus dialek yang terkait dengan nama registri dialek
  • csv.QUOTE_ALL – Kutip semuanya, apa pun jenisnya.
  • csv.QUOTE_MINIMAL – Bidang kutipan dengan karakter khusus
  • csv.QUOTE_NONNUMERIC – Kutip semua bidang yang bukan nilai angka
  • csv.QUOTE_NONE – Jangan mengutip apa pun dalam keluaran

Dalam tutorial ini, kita hanya akan fokus pada fungsi pembaca dan penulis yang memungkinkan Anda mengedit, memodifikasi, dan memanipulasi data dalam file CSV.

Cara Membaca File CSV di Python

Berikut adalah langkah-langkah untuk membaca file CSV Python.

Langkah 1) Untuk membaca data dari file CSV, Anda harus menggunakan fungsi pembaca untuk menghasilkan objek pembaca.

Fungsi pembaca dikembangkan untuk mengambil setiap baris file dan membuat daftar semua kolom. Kemudian, Anda harus memilih kolom yang data variabelnya diinginkan.

Kedengarannya jauh lebih rumit dari yang sebenarnya. Mari kita lihat ini Python kode untuk membaca file CSV, dan kita akan mengetahui bahwa bekerja dengan file csv tidaklah terlalu sulit.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

Langkah 2) Ketika Anda menjalankan program di atas, outputnya adalah:

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Cara membaca file CSV ke dalam Kamus di Python

Anda juga dapat menggunakan DictReader untuk membaca file CSV. Hasilnya diinterpretasikan sebagai kamus dimana baris header adalah kuncinya, dan baris lainnya adalah nilai.

Perhatikan kode berikut

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Hasil dari kode ini adalah:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Membaca file CSV ke dalam Kamus

Dan cara membaca data dari file CSV ini jauh lebih mudah dibandingkan cara sebelumnya. Namun, ini bukan cara terbaik untuk membaca data.

Cara menulis File CSV di Python

Berikut cara menulis file CSV Python:

Ketika Anda memiliki sekumpulan data yang ingin Anda simpan dalam file CSV, Anda harus menggunakan fungsi writer(). Untuk mengulangi data melalui baris (garis), Anda harus menggunakan fungsi writerow().

Perhatikan contoh berikut. Kita menulis data ke dalam file “writeData.csv” yang pemisahnya adalah apostrof.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Hasil dalam file csv adalah:

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

tulis File CSV di Python

Baca File CSV menggunakan Pandas

Pandas adalah perpustakaan sumber terbuka yang memungkinkan Anda mengimpor CSV Python dan melakukan manipulasi data. Pandas menyediakan cara mudah untuk membuat, memanipulasi, dan menghapus data.

Anda harus menginstal perpustakaan pandas dengan perintah pip install pandas . Di dalam Windows, Anda akan menjalankan perintah ini di Command Prompt saat berada di Linux di Terminal.

Membaca CSV ke dalam pandas DataFrame sangat cepat dan mudah:

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Hasil dari baca CSV Pandas contoh:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Perpustakaan yang sangat berguna. Hanya dalam tiga baris kode Anda mendapatkan hasil yang sama seperti sebelumnya. Panda mengetahui bahwa baris pertama CSV berisi nama kolom, dan Panda akan menggunakannya secara otomatis.

Tulis File CSV menggunakan Pandas

Menulis ke file CSV dengan Pandas semudah membaca. Di sini Anda dapat meyakinkannya. Pertama Anda harus membuat DataFrame berdasarkan yang berikut ini Python tulis ke kode CSV.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

Inilah hasilnya

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Dan file CSV dibuat di lokasi yang ditentukan.

Tulis File CSV menggunakan Pandas

Kesimpulan

Nah, sekarang Anda sudah tahu cara menggunakan metode 'csv' dan juga cara membaca serta menulis data dalam format CSV. File CSV banyak digunakan dalam aplikasi perangkat lunak karena mudah dibaca dan dikelola, dan ukurannya yang kecil membuatnya relatif cepat untuk diproses dan dikirim.

Modul csv menyediakan berbagai fungsi dan kelas yang memungkinkan Anda membaca dan menulis dengan mudah. Anda dapat melihat resminya Python dokumentasi dan temukan beberapa kiat dan modul yang lebih menarik. CSV adalah cara terbaik untuk menyimpan, melihat, dan mengirim data. Sebenarnya, tidak sesulit yang terlihat pada awalnya untuk mempelajarinya. Namun dengan sedikit latihan, Anda akan menguasainya.

Pandas adalah alternatif yang bagus untuk membaca file CSV.

Selain itu, ada cara lain untuk mengurai file teks dengan perpustakaan seperti ANTLR, PLY, dan PlyPlus. Semuanya dapat menangani penguraian tugas berat, dan jika manipulasi String sederhana tidak berhasil, ada ekspresi reguler yang dapat Anda gunakan.