Definisi: CSV (nilai dipisahkan koma) mirip dengan fail teks di mana data yang disimpan dipisahkan oleh beberapa pembatas (biasanya koma). Setiap bidang dipisahkan oleh pembatas. Di Python, fail CSV diproses menggunakan modul CSV. Jadi, kita mesti mengimport modul ini.
Cth: import csv
Contoh di bawah menunjukkan cara data disimpan dalam fail CSV. Di sini, koma digunakan sebagai pembatas.
Nama fail: person_info.csv
nama depan, nama tengah, nama belakang, umur
Anand, kumar, matematik, 31
Sachin, ramesh, tendulakar, 40
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40
Fail CSV dapat dibuka dalam salah satu mod berikut:
r -> mod baca
w -> mod tulis
a -> mod tambah
Di Python, operasi fail dilakukan mengikut urutan berikut:
- Buka fail;
- Baca, tulis, atau tambahkan. Ketika kita menentukan mod penulisan, fail akan dibuka dalam mod penulisan jika file tersebut ada, jika tidak, ia akan membuat fail. Ini juga berlaku untuk mod lampiran. Dalam mod baca, jika fail ada, ia akan membuka fail dalam mod baca, jika tidak, ia akan membuang pengecualian FileNotFoundError; dan
- Tutup fail.
Buka fail csv
Kaedah terbina terbuka () digunakan.
Cth:
- f = terbuka ("nama fail.csv "," r ") # Dalam csv python default adalah mode baca
- f = terbuka ("nama fail.csv ", 'w') # mod penulisan
Menutup fail
Kaedah terbina dekat () digunakan.
fp = terbuka ("nama fail.csv ", 'w')# menjalankan beberapa operasi fail
fp.tutup ()
Operasi fail menggunakan dengan
Cara terbaik untuk menjalankan operasi fail CSV, dan kaedah yang paling biasa digunakan adalah dengan penyataan. Menggunakan ini memastikan bahawa fail ditutup apabila blok di dalamnya keluar.
Cth:
dengan terbuka ('nama fail.csv ',' w ', pengekodan =' utf-8 ') sebagai fp:#perlakukan beberapa operasi fail
# pernyataan di luar dengan blok
Apabila kita keluar dengan blok, fail akan ditutup secara automatik.
Tulis ke fail CSV
Untuk menulis ke dalam fail CSV, kita perlu membukanya dalam mod 'w' atau menambahkan 'a' mode.
Dalam contoh di bawah, kita akan membaca dari satu fail dan menulis ke fail baru.
import csvdengan terbuka ('nama fail.csv ',' r ') sebagai fp:
pembaca = csv.pembaca (fp) #baca fail
dengan terbuka ('nama baru.csv ',' w ') sebagai fq:
penulis = csv.penulis (fq, pembatas = '-')
untuk baris dalam pembaca: #Untuk berulang pada setiap baris
penulis.authorow (line) #write line ke fail baru
Menggunakan penulis kamus
Dalam contoh di bawah ini, kita akan membaca dari satu fail dan menulis ke fail baru menggunakan kaedah DictWriter ().
import csvdengan terbuka ('nama fail.csv ',' r ') sebagai fp:
pembaca = csv.Fail DreadReader (fp) #read
dengan terbuka ('nama baru.csv ',' w ', newline = ") sebagai fq: #newline =" untuk mengelakkan penambahan baris baru tambahan
row_names = ['nama depan', 'nama tengah', 'nama belakang', 'usia']
penulis = csv.DictWriter (fq, nama lapangan = baris_nama, pembatas = '-')
penulis.writeheader () # tulis baris tajuk
untuk baris dalam pembaca:
penulis.penulis (baris)
Penulis ()
Kaedah ini menulis beberapa baris dalam satu masa; kita perlu lulus senarai senarai. Cth:
import csvhead_names = ['nama depan', 'nama tengah', 'nama belakang', 'usia']
# baris data fail csv
baris = [['Anand', 'kumar', 'math', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# menulis ke fail csv
dengan terbuka ('nama baru.csv ',' w ') sebagai fp:
# membuat objek penulis csv
csvwriter = csv.penulis (fp)
# tulis tajuk
csvwriter.penulis (nama_ nama)
# tulis baris data
csvwriter.penulis (baris)
Membaca dari fail
Untuk membaca fail CSV di Python, kita mesti membuka fail dalam mod bacaan 'r'. Cth:
import csvdengan terbuka ('nama fail.csv ',' r ') sebagai fp:
data = csv.pembaca (fp)
pembatas #default adalah koma, jika csv dipisahkan oleh pembatas lain perlu ditentukan
#Ex data = csv.pembaca (fp, pembatas = '-')
mencetak (data) # ia mengembalikan objek
# melangkau pengepala
next (data) #call kaedah penjana seterusnya
untuk baris dalam data: #Untuk berulang pada setiap baris
cetak (baris) # cetak setiap nilai dalam senarai
fp.cari (0) # bawa kursor ke baris pertama
untuk baris dalam data:
cetak (baris [0]) # cetak nama depan sahaja
Menggunakan pembaca kamus
Untuk membaca fail csv menggunakan kaedah DictReader ().
import csvdengan terbuka ('nama fail.csv ',' r ') sebagai fp:
pembaca = csv.Fail DreadReader (fp) #read
untuk baris dalam pembaca:
cetak (baris) #cetak setiap baris dalam bentuk kediktatoran
fp.cari (0) # bawa kursor ke baris pertama
untuk data dalam pembaca:
cetak (data ['usia']) # kita hanya boleh mencetak usia dengan menggunakan kunci 'usia'
Kesimpulannya
Kami telah belajar membaca dan menulis fail menggunakan modul CSV. Fail CSV adalah format fail yang paling sering digunakan dalam industri automasi kerana senang membaca dan mengubah data. Juga, Pandas adalah kaedah lain yang dapat kita gunakan untuk memproses fail CSV.