Cara Membaca File CSV dengan Python | Membaca dan Menulis File CSV
Apa itu file CSV?
File CSV adalah jenis sederhana dari file teks biasa yang menggunakan struktur tertentu untuk mengatur data tabular. 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 untuk mengekspor data tabular dari situs web ke dalam file CSV. File CSV akan terbuka ke Excel, dan hampir semua database memiliki alat untuk mengizinkan impor dari file CSV.
Dalam tutorial ini, Anda akan mempelajari:
Apa itu file CSV?
File Contoh CSV
Modul CSV Python
Fungsi Modul CSV
Cara Membaca File CSV dengan Python
Cara membaca file CSV ke dalam Kamus dengan Python
Cara menulis File CSV dengan Python
Baca File CSV menggunakan Pandas
Menulis File CSV menggunakan Pandas
File Contoh CSV
Data dalam bentuk tabel juga disebut CSV (nilai yang dipisahkan koma) – secara harfiah “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 oleh simbol pemisah – koma (,), titik koma (;) atau simbol lainnya. CSV dapat dengan mudah dibaca dan diproses oleh Python.
Perhatikan Tabel berikut
Data Tabel
Bahasa pemrograman
Dirancang oleh
Muncul
Ekstensi
Python
Guido van Rossum
1991
.py
Java
James Gosling
1995
.java
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
Java, James 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
Modul CSV Python
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 terkait dengan nama
csv.list_dialects – tampilkan 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 – Kutipan bidang dengan karakter khusus
csv.QUOTE_NONNUMERIC – Kutip semua bidang yang bukan nilai angka
csv.QUOTE_NONE – Jangan mengutip apa pun di output
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 dengan Python
Berikut adalah langkah-langkah untuk membaca file CSV dengan 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 Anda inginkan untuk data variabel.
Kedengarannya jauh lebih rumit daripada itu. Mari kita lihat kode Python ini untuk membaca file CSV, dan kita akan menemukan bahwa bekerja dengan file csv tidak 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) Saat 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 dengan Python
Anda juga dapat menggunakan DictReader untuk membaca file CSV. Hasilnya ditafsirkan sebagai kamus di mana 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)
Dan cara membaca data dari file CSV ini jauh lebih mudah dari cara sebelumnya. Namun, ini bukan cara terbaik untuk membaca data.
Cara menulis File CSV dengan Python
Berikut adalah cara menulis file CSV dengan Python:
Bila Anda memiliki satu set data yang ingin Anda simpan dalam file CSV, Anda harus menggunakan fungsi writer(). Untuk mengulang data pada baris(baris), Anda harus menggunakan fungsi writerow().
Perhatikan contoh berikut. Kami menulis data ke dalam file “writeData.csv” dengan pembatas berupa 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 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
Baca File CSV menggunakan Pandas
Pandas adalah pustaka sumber terbuka yang memungkinkan Anda mengimpor CSV dengan Python dan melakukan manipulasi data. Panda menyediakan cara mudah untuk membuat, memanipulasi, dan menghapus data.
Anda harus menginstal perpustakaan pandas dengan perintah pip install pandas. Di Windows, Anda akan menjalankan perintah ini di Command Prompt saat di Linux di Terminal.
Membaca CSV menjadi panda DataFrame sangat cepat dan mudah:
#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)
Hasil dari contoh CSV Pandas yang dibaca:
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 tahu bahwa baris pertama CSV berisi nama kolom, dan akan menggunakannya secara otomatis.
Tulis File CSV menggunakan Pandas
Menulis ke file CSV dengan Pandas semudah membaca. Di sini Anda dapat meyakinkan di dalamnya. Pertama, Anda harus membuat DataFrame berdasarkan penulisan Python berikut 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)
Berikut adalah outputnya
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.
Kesimpulan
Jadi, sekarang Anda tahu bagaimana menggunakan metode 'csv' dan juga membaca dan 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 dokumentasi resmi Python dan menemukan beberapa tips dan modul yang lebih menarik. CSV adalah cara terbaik untuk menyimpan, melihat, dan mengirim data. Sebenarnya, tidak begitu sulit untuk belajar seperti yang terlihat di awal. Tetapi dengan sedikit latihan, Anda akan menguasainya.
Pandas adalah alternatif yang bagus untuk membaca file CSV.
Juga, 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.