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 fail;
- Lugege, kirjutage või lisage. Kui määrame kirjutamisrežiimi, avatakse fail kirjutamisrežiimis, kui fail on olemas, vastasel juhul loob see faili. See kehtib ka liitmisrežiimi kohta. Kui fail on olemas, avab see lugemisrežiimis faili lugemisrežiimis, vastasel juhul viskab see erandi FileNotFoundError; ja
- Sulgege fail.
Avage csv-fail
Kasutatakse sisseehitatud meetodit open ().
Nt:
- f = avatud („failinimi.csv ”,” r ”) # csv pythonis on vaikimisi lugemisrežiim
- f = avatud („failinimi.csv ”, 'w') # kirjutusrežiim
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 csvfailiga 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 csvfailiga 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 csvhead_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 csvfailiga 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 csvfailiga 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.