Cara Membaca, Tulis & Menguras CSV di Python

Cara Membaca, Tulis & Menguras CSV di Python

Pernahkah anda perlu bertukar maklumat antara program kecuali menggunakan pembolehubah? Pernahkah anda berfikir atau merasakan keperluan untuk mempunyai fail teks untuk menukar data antara program? Adakah anda tahu mengenai idea menyimpan data/maklumat ke dalam fail luaran dan kemudian mengekstraknya apabila diperlukan? Ya, kita boleh menyimpan dan memindahkan data antara program menggunakan format fail yang dikenali sebagai CSV.

Apa itu fail CSV?

Fail CSV adalah jenis fail yang digunakan untuk menyimpan data dalam bentuk tabular berstruktur (baris/lajur). Ia adalah fail teks biasa dan namanya menunjukkan ia menyimpan nilai yang dipisahkan oleh koma.

Dalam siaran ini, kami akan mengadakan perbincangan terperinci mengenai membaca, menulis, dan menguraikan fail CSV di Python.

Asal fail CSV

Konsep mempunyai fail CSV datang dari keperluan mengeksport sejumlah besar data dari satu tempat ke tempat lain (program). Contohnya, mengimport data spreadsheet yang besar dan mengeksportnya ke beberapa pangkalan data. Begitu juga, kita dapat mengeksport sejumlah besar data ke program.

Bahasa yang berbeza menggunakan format yang berbeza untuk menyimpan data supaya apabila pengaturcara perlu mengeksport data dari satu program ke program yang lain, mereka merasakan keperluan untuk mempunyai jenis fail sejagat yang menggunakan yang kita boleh memindahkan sejumlah besar data; Jenis fail yang mana program boleh membaca dan menghuraikan formatnya sendiri.

Memahami struktur fail CSV

Struktur fail CSV akan kelihatan seperti ini:

Lajur 1, Lajur 2, Lajur 3 Nilai 1, Nilai 2, Nilai 3 ..., ..., .. 

Sama seperti kita mempunyai lajur dan baris dalam pangkalan data:

Atau dalam data spreadsheet jadual:

Begitu juga, fail CSV adalah jenis fail teks mudah di mana data disimpan dalam bentuk kepingan yang dipisahkan oleh koma:

Setiap lajur dipisahkan oleh koma, dan setiap baris berada di barisan baru.

Baiklah, setelah memahami konsep teras, asal, dan struktur fail CSV, mari belajar membaca, menulis, dan menghuraikan CSV di Python.

Membaca fail CSV di Python

Untuk parsing fail CSV, bernasib baik, kami mempunyai perpustakaan CSV terbina dalam yang disediakan oleh Python. Perpustakaan CSV sangat mudah digunakan dan boleh digunakan untuk membaca dan menulis ke fail CSV. Mari mulakan dengan membaca fail CSV.

Untuk membaca fail CSV, objek pembaca akan digunakan. Mari mula menulis kod untuk membaca fail CSV dan memahaminya dalam prosedur langkah demi langkah:

Membaca fail CSV dengan pematuhan lalai (koma)

Pertama sekali, kita perlu mengimport modul CSV:

Import CSV 

Setelah mengimport modul CSV, kami kini dapat menggunakannya dalam program Python kami.

Seterusnya, kita perlu membuka fail CSV menggunakan fungsi terbuka () dalam mod bacaan:

dengan terbuka ('pelajar.csv ',' r ') sebagai csvfile 

Selepas membaca fail CSV, buat objek pembaca CSV:

csvreader = csv.Pembaca (CSVFile) 

Oleh kerana koma adalah pembatas lalai sehingga kita tidak perlu menyebutnya secara khusus. Jika tidak, kita perlu menyediakan pembatas yang digunakan oleh fail CSV.

Akhirnya untuk mengekstrak setiap baris, gunakan gelung untuk berulang di atas csvreader objek dan mencetaknya:

Untuk Pelajar di CSVReader: Cetak (Pelajar) 

Semua dalam semua, kod akhir akan kelihatan seperti ini:

Import CSV dengan Terbuka ('Pelajar.csv ',' r ') sebagai csvfile csvreader = csv.pembaca (csvfile) untuk pelajar di csvreader: cetak (pelajar)
12345Import CSVWith Open ('Pelajar.csv ',' r ') sebagai csvfile csvreader = csv.pembaca (csvfile) untuk pelajar di csvreader: cetak (pelajar)

Sebaik sahaja semua kod ditulis, laksanakan kod dan anda akan mempunyai keseluruhan fail CSV yang dihuraikan ke dalam pelbagai python:

Membaca fail CSV dengan pembatas tersuai

Untuk membaca fail CSV dengan pembatas tersuai, kita hanya perlu menyebutkan pembatas semasa membaca dan membuat objek pembaca CSV.

Contohnya, jika kita meletakkan titik koma (;) di tempat koma pada pelajar.CSV:

Dan ingin membaca fail CSV berdasarkan titik koma maka pembatas akan disebut seperti:

csvreader = csv.Pembaca (CSVFile, Delimiter = ';') 

Kod akhir dengan pembatas spesifik akan kelihatan seperti ini:

Import CSV dengan Terbuka ('Pelajar.csv ',' r ') sebagai csvfile csvreader = csv.pembaca (csvfile, delimiter = ';') untuk pelajar di csvreader: cetak (pelajar)
12345Import CSVWith Open ('Pelajar.csv ',' r ') sebagai csvfile csvreader = csv.pembaca (csvfile, delimiter = ';') untuk pelajar di csvreader: cetak (pelajar)

Output akan sama seperti yang kita ada dalam contoh sebelumnya:

Inilah cara kami dapat memberikan pematuhan tersuai dan membaca fail CSV di Python. Sekarang, mari belajar menulis fail CSV di Python.

Menulis fail CSV di Python

Untuk menulis fail CSV, objek penulis akan digunakan. Terdapat dua cara untuk menulis fail CSV:

  • Tulis baris satu demi satu menggunakan fungsi Writerow ()
  • Tulis pelbagai baris menggunakan fungsi Writerows ()

Mari mula menulis kod untuk menulis fail CSV dan memahami kedua -dua cara lebih baik:

Cara Menulis Fail CSV Menggunakan Fungsi Writerow () di Python

Dengan menggunakan ini Writerow () fungsi, kita hanya boleh menulis satu baris pada satu masa dalam fail CSV.

Contohnya, untuk menulis tiga baris ke dalam pekerja baru.Fail CSV, python akan seperti ini:

Import CSV dengan Terbuka ('Pekerja.csv ',' w ') sebagai csvfile: penulis = csv.Penulis Penulis (CSVFile).Writerow (["id", "nama", "umur"]) penulis.Writerow ([1, "John", 35]) Penulis.Writerow ([2, "Harry", 25])
123456Import CSVWith Open ('Pekerja.csv ',' w ') sebagai csvfile: penulis = csv.Penulis Penulis (CSVFile).Writerow (["id", "nama", "umur"]) penulis.Writerow ([1, "John", 35]) Penulis.Writerow ([2, "Harry", 25])

Kod di atas akan membuat fail dengan nama pekerja.CSV dan tambahkan tiga baris kepada pekerja tersebut.Fail CSV.

Walau bagaimanapun, kaedah ini tidak cekap, apabila kita perlu menambah beratus -ratus baris. Dalam kes sedemikian, kita perlu menambah setiap baris satu demi satu, yang menjadi pekerjaan yang sibuk. Untuk menyelesaikan masalah ini, Python juga menyediakan penulis () berfungsi untuk menulis banyak baris ke dalam fail CSV secara serentak.

Tulis pelbagai baris menggunakan fungsi Writerows ()

Dengan menggunakan penulis () fungsi, kita hanya dapat memberikan pelbagai jenis array (baris) ke fungsi Writerows () dan ia akan menambah semua baris ke dalam fail CSV.

Contohnya, untuk menulis tiga baris ke dalam pekerja.Fail CSV, kami mula -mula membuat array dengan nama "Pekerja.CSV ” yang mengandungi baris dalam bentuk elemen array, dan kemudian berikan "Pekerja.CSV ” pelbagai fungsi penulis ().

Semua dalam semua, python akan pergi seperti ini:

import CSV Pekerja_csv = [["id", "nama", "umur"], [1, "John", 35], [2, "Harry", 25]] dengan terbuka ('Pekerja.csv ',' w ') sebagai csvfile: penulis = csv.Penulis Penulis (CSVFile).Writerow (Pekerja.CSV)
12345import csvemplemplemplemplyees_csv = [["id", "name", "usia"], [1, "John", 35], [2, "Harry", 25]] dengan terbuka ('Pekerja.csv ',' w ') sebagai csvfile: penulis = csv.Penulis Penulis (CSVFile).Writerow (Pekerja.CSV)

Kod di atas akan membuat fail dengan nama pekerja.CSV dan tambahkan tiga baris kepada pekerja tersebut.fail CSV, sama seperti yang dilakukan untuk prosedur terdahulu.

Dengan menggunakan kaedah ini, anda boleh menambah beribu -ribu baris ke fail CSV dalam masa yang singkat dengan menyediakan data dalam bentuk array.

Kesimpulan

CSV adalah format data yang digunakan untuk menyimpan data dalam format tabular dan memindahkannya antara aplikasi yang berbeza. Python mempunyai modul terbina dalam yang membolehkan kod membaca, menulis dan menghuraikan data CSV ke dalam kod python.

Dalam siaran ini, kami belajar membaca dan menulis data dalam bentuk fail CSV menggunakan Python.