Python

CSV-failide käitlemine Pythonis

CSV-failide käitlemine Pythonis
Selles teemas õpime lugema ja kirjutama CSV-faile pythonis.

Definitsioon: CSV (komaga eraldatud väärtus) sarnaneb tekstifailiga, kus salvestatud andmed eraldatakse mõne eraldajaga (tavaliselt koma). Iga väli eraldatakse eraldajaga. Pythonis töödeldakse CSV-faile CSV-mooduli abil. Niisiis, peame selle mooduli importima.

Nt: import csv

Allpool toodud näide näitab andmete CSV-failis salvestamise viisi. Siin kasutatakse eraldajana koma.

Faili nimi: person_info.csv
eesnimi, keskmine nimi, perekonnanimi, vanus
Anand, kumar, matemaatika, 31
Sachin, ramesh, tendulakar, 40
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40

CSV-faili saab avada mis tahes järgmises režiimis:
r -> lugemisrežiim
w -> kirjutamisrežiim
a -> režiim

Pythonis tehakse failitoiming järgmises järjekorras:

Avage csv-fail

Kasutatakse sisseehitatud meetodit open ().

Nt:

Faili sulgemine

Kasutatakse sisseehitatud meetodit close ().

fp = avatud ("failinimi.csv ", 'w')
# teha mõned failitoimingud
fp.Sulge()

Failitoimingud kasutades

Parim viis CSV-faili toimingu tegemiseks ja kõige sagedamini kasutatav meetod on avaldusega. Selle kasutamine tagab faili sulgemise, kui selle sees olevast plokist väljutakse.

Nt:

failiga open ('failinimi.csv ',' w ', kodeerimine =' utf-8 ') fp-na:
#tehke mõned failitoimingud
#statements väljaspool plokki

Kui blokeerimisega väljume, suletakse fail automaatselt.

Kirjutage CSV-faili

CSV-faili kirjutamiseks peame selle avama režiimis „w” või lisama „a”.

Allpool toodud näites loeme ühest failist ja kirjutame uude faili.

import csv
failiga open ('failinimi.csv ',' r ') fp-na:
lugeja = csv.lugeja (fp) # loetud fail
failiga open ('uusfailinimi.csv ',' w ') kui fq:
kirjanik = csv.kirjutaja (fq, eraldaja = '-')
lugeja rea ​​jaoks: # Iga rea ​​kordamiseks
kirjanik.writerow (line) #write line uuele failile

Sõnastiku kirjutaja kasutamine

Allpool toodud näites loeme ühest failist ja kirjutame DictWriter () meetodiga uude faili.

import csv
failiga open ('failinimi.csv ',' r ') fp-na:
lugeja = csv.DictReader (fp) #loetud fail
failiga open ('uusfailinimi.csv ',' w ', newline = ") nagu fq: #newline =", et vältida täiendava uue rea lisamist
rida_nimed = ['eesnimi', 'keskmine nimi', 'perekonnanimi', 'vanus']
kirjanik = csv.DictWriter (fq, väljanimed = rea_nimed, eraldaja = '-')
kirjanik.writeheader () # kirjuta pealkirja read
rea lugeja jaoks:
kirjanik.kirjutaja (rida)

Kirjanikud ()

See meetod kirjutab korraga mitu rida; peame edastama nimekirjade loendi. Nt:

import csv
head_names = ['eesnimi', 'keskmine nimi', 'perekonnanimi', 'vanus']
# csv-faili andmerida
read = [['Anand', 'kumar', 'matemaatika', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# kirjutamine csv-faili
failiga open ('uusfailinimi.csv ',' w ') fp-na:
# csv-kirjutaja objekti loomine
csvwriter = csv.kirjanik (fp)
# kirjuta pealkiri
csvwriter.kirjutaja (pealkirja_nimed)
# kirjuta andmeread
csvwriter.kirjutusribad (read)

Failist lugemine

CSV-faili lugemiseks Pythonis peame faili avama lugemisrežiimis 'r'. Nt:

import csv
failiga open ('failinimi.csv ',' r ') fp-na:
andmed = csv.lugeja (fp)
#default eraldaja on koma, kui muu eraldajaga eraldatud csv peab määrama
#Ex andmed = csv.lugeja (fp, eraldaja = '-')
print (data) # see tagastab objekti
# päise vahele jätmine
next (data) #call järgmine generaatori meetod
andmete rida: # Iga rea ​​kordamiseks
print (rida) # printige iga loendi väärtus
fp.seek (0) # kursori viimine esimesele reale
andmete rida:
print (rida [0]) # prindi ainult eesnimed

Sõnastiku lugeja kasutamine

Csv-faili lugemiseks meetodi DictReader () abil.

import csv
failiga open ('failinimi.csv ',' r ') fp-na:
lugeja = csv.DictReader (fp) #loetud fail
rea lugeja jaoks:
print (line) #prindi iga rida diktaarse kujul
fp.seek (0) # kursori viimine esimesele reale
lugeja andmete jaoks:
print (andmed ['vanus']) # saame vanuse printimiseks kasutada ainult vanust

Järeldus

Oleme õppinud faili lugemist ja kirjutamist CSV-mooduli abil. CSV-fail on automaatikatööstuses kõige sagedamini kasutatav failivorming, kuna andmeid on lihtne lugeda ja muuta. Samuti on Pandas veel üks meetod, mida saame kasutada CSV-failide töötlemiseks.

SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...
Lahing Wesnothi õpetuse eest
Battle for Wesnoth on üks populaarsemaid avatud lähtekoodiga strateegiamänge, mida saate praegu mängida. See mäng pole mitte ainult olnud väga pikka a...
0 A.D. Õpetus
Paljudest strateegiamängudest on 0 A.D. suudab silma paista põhjaliku tiitli ja väga sügava taktikalise mänguna, hoolimata sellest, et see on avatud l...