Definicija: CSV (vrijednost odvojena zarezom) slična je tekstualnoj datoteci u kojoj su pohranjeni podaci odvojeni nekim graničnikom (obično zarezom). Svako polje odvojeno je graničnikom. U Pythonu se CSV datoteke obrađuju pomoću CSV modula. Dakle, moramo uvesti ovaj modul.
Pr: uvoz csv
Sljedeći primjer pokazuje način na koji se podaci pohranjuju u CSV datoteku. Ovdje se zarez koristi kao graničnik.
Naziv datoteke: person_info.csv
ime, srednje ime, prezime, dob
Anand, kumar, matematika, 31
Sachin, ramesh, tendulakar, 40
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40
CSV datoteku možete otvoriti u bilo kojem od sljedećih načina:
r -> način čitanja
w -> način pisanja
a -> način dodavanja
U Pythonu se operacija datoteke izvršava sljedećim redoslijedom:
- Otvorite datoteku;
- Pročitajte, napišite ili dodajte. Kad odredimo način pisanja, datoteka će se otvoriti u načinu pisanja ako datoteka postoji, inače će stvoriti datoteku. Ovo je također primjenjivo na način dodavanja. U načinu čitanja, ako datoteka postoji, otvorit će je u načinu čitanja, inače će izuzeti FileNotFoundError; i
- Zatvorite datoteku.
Otvorite csv datoteku
Koristi se ugrađena metoda open ().
Primjer:
- f = otvori („naziv datoteke.csv ”,” r ”) # U csv pythonu zadani je način čitanja
- f = otvori („naziv datoteke.csv ”, 'w') # način pisanja
Zatvaranje datoteke
Koristi se ugrađena metoda close ().
fp = open ("naziv datoteke.csv ", 'w')# izvršava neke operacije datoteka
fp.Zatvoriti()
Datotečne operacije pomoću
Najbolji način izvođenja operacije CSV datoteke i najčešće korištena metoda je s izjavom. Korištenjem ovoga osigurava se zatvaranje datoteke kada se izađe iz bloka sa.
Primjer:
s open ('naziv datoteke.csv ',' w ', encoding =' utf-8 ') kao fp:#izvršite neke operacije datoteka
#statements izvan bloka with
Kad izađemo s blokom, datoteka će se automatski zatvoriti.
Zapiši u CSV datoteku
Da bismo zapisali u CSV datoteku, moramo je otvoriti u načinu pisanja 'w' ili dodavanju 'a'.
U donjem primjeru čitat ćemo iz jedne datoteke i pisati u novu datoteku.
uvoz csvs open ('naziv datoteke.csv ',' r ') kao fp:
čitač = csv.čitač (fp) #pročitana datoteka
s open ('ime nove datoteke.csv ',' w ') kao fq:
pisac = csv.pisac (fq, graničnik = '-')
za redak u čitaču: # Za iteriranje preko svakog retka
pisac.writerow (line) #write line to new file
Korištenje rječnika
U donjem primjeru čitat ćemo iz jedne datoteke i pisati u novu datoteku metodom DictWriter ().
uvoz csvs open ('naziv datoteke.csv ',' r ') kao fp:
čitač = csv.DictReader (fp) #pročitana datoteka
s open ('ime nove datoteke.csv ',' w ', newline = ") kao fq: #newline =" da se izbjegne dodavanje novog novog retka
row_names = ['ime', 'srednje ime', 'prezime', 'dob']
pisac = csv.DictWriter (fq, imena polja = imena_redova, graničnik = '-')
pisac.writeheader () # zapisivanje redaka zaglavlja
za redak u čitaču:
pisac.writerow (linija)
Pisanje ()
Ova metoda istovremeno upisuje više redaka; moramo donijeti popis popisa. Primjer:
uvoz csvhead_names = ['ime', 'srednje ime', 'prezime', 'dob']
# podatkovni redak csv datoteke
redovi = [['Anand', 'kumar', 'math', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# pisanje u csv datoteku
s open ('ime nove datoteke.csv ',' w ') kao fp:
# stvaranje CSV objekta za pisanje
csvwriter = csv.pisac (fp)
# napiši naslov
csvwriter.writerow (imena_glava)
# zapišite redove podataka
csvwriter.zapisi (redovi)
Čitanje iz datoteke
Da bismo pročitali CSV datoteku u Pythonu, moramo je otvoriti u načinu čitanja 'r'. Primjer:
uvoz csvs open ('naziv datoteke.csv ',' r ') kao fp:
podaci = csv.čitač (fp)
#default graničnik je zarez, ako csv odvojen drugim graničnikom treba navesti
# Ex podaci = csv.čitač (fp, graničnik = '-')
print (data) # to vraća objekt
# preskakanje zaglavlja
next (podaci) #call sljedeća metoda generatora
za redak u podacima: # Za iteriranje preko svakog retka
print (line) # ispis svake vrijednosti na popisu
fp.traži (0) # premjesti pokazivač u prvi redak
za redak u podacima:
ispis (redak [0]) # ispis samo imena
Korištenje čitača rječnika
Za čitanje csv datoteke pomoću metode DictReader ().
uvoz csvs open ('naziv datoteke.csv ',' r ') kao fp:
čitač = csv.DictReader (fp) #pročitana datoteka
za redak u čitaču:
print (line) #print svaki redak u obliku rječnika
fp.traži (0) # premjesti pokazivač u prvi redak
za podatke u čitaču:
print (data ['age']) # možemo ispisati samo dob pomoću tipke 'age'
Zaključak
Naučili smo kako čitati i pisati datoteku pomoću CSV modula. CSV datoteka je najčešće korišteni format datoteke u industriji automatizacije, jer je lako čitati i mijenjati podatke. Također, Pandas je još jedna metoda koju možemo koristiti za obradu CSV datoteka.