Python

Pengendalian Fail CSV di Python

Pengendalian Fail CSV di Python
Dalam topik ini, kita akan belajar membaca dan menulis fail CSV di python.

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 csv

Kaedah terbina terbuka () digunakan.

Cth:

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 csv
dengan 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 csv
dengan 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 csv
head_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 csv
dengan 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 csv
dengan 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.

Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...
Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...
OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...