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.
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')])
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
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.
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.