Definicija: CSV (vrednost, ločena z vejico) je podobna besedilni datoteki, kjer so shranjeni podatki ločeni z ločevalnikom (običajno z vejico). Vsako polje je ločeno z ločilom. V Pythonu se datoteke CSV obdelujejo z uporabo modula CSV. Torej, ta modul moramo uvoziti.
Napr: uvoz csv
Spodnji primer prikazuje način shranjevanja podatkov v datoteki CSV. Tu se vejica uporablja kot ločilo.
Ime datoteke: person_info.csv
ime, priimek, priimek, starost
Anand, kumar, matematika, 31
Sachin, ramesh, tendulakar, 40 let
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40
Datoteko CSV lahko odprete v katerem koli od naslednjih načinov:
r -> način branja
w -> način pisanja
a -> način dodajanja
V Pythonu se datotečna operacija izvaja v naslednjem vrstnem redu:
- Odprite datoteko;
- Preberite, napišite ali dodajte. Ko določimo način pisanja, se datoteka odpre v načinu pisanja, če datoteka obstaja, sicer pa bo ustvarila datoteko. To velja tudi za način dodajanja. Če datoteka obstaja v načinu branja, jo bo odprla v načinu branja, sicer vrne izjemo FileNotFoundError; in
- Zaprite datoteko.
Odprite datoteko CSV
Uporablja se vgrajena metoda open ().
Primer:
- f = odprto (“ime datoteke.csv ”,” r ”) # V csv pythonu je privzeti način branja
- f = odprto (“ime datoteke.csv ”, 'w') # način pisanja
Zapiranje datoteke
Uporablja se vgrajena metoda close ().
fp = odprto ("ime datoteke.csv ", 'w')# izvaja nekatere datoteke
fp.zapri ()
Datotečne operacije z
Najboljši način za izvajanje datoteke CSV in najpogosteje uporabljena metoda je z izjavo. Uporaba tega zagotavlja, da je datoteka zaprta, ko izstopi blok z.
Primer:
z odprtim ('ime datoteke.csv ',' w ', encoding =' utf-8 ') kot fp:#izvedite nekaj datotek
#statements zunaj bloka
Ko zapremo z blokom, se datoteka samodejno zapre.
Zapišite v datoteko CSV
Če želite zapisovati v datoteko CSV, jo moramo odpreti v načinu za pisanje 'w' ali dodati 'a'.
V spodnjem primeru bomo brali iz ene datoteke in pisali v novo datoteko.
uvoz csvz odprtim ('ime datoteke.csv ',' r ') kot fp:
bralnik = csv.bralnik (fp) # preberi datoteko
z odprtim ('newfilename.csv ',' w ') kot fq:
pisec = csv.zapisovalnik (fq, ločilo = '-')
za vrstico v bralniku: # Za iteracijo nad vsako vrstico
pisatelj.writerow (line) #write vrstico v novo datoteko
Uporaba slovarja
V spodnjem primeru bomo brali iz ene datoteke in pisali v novo datoteko z metodo DictWriter ().
uvoz csvz odprtim ('ime datoteke.csv ',' r ') kot fp:
bralnik = csv.DictReader (fp) #read datoteka
z odprtim ('newfilename.csv ',' w ', newline = ") kot fq: #newline =", da se izognemo dodajanju dodatne nove vrstice
row_names = ['ime', 'srednje ime', 'priimek', 'starost']
pisec = csv.DictWriter (fq, imena polj = imena_vrst, ločilo = '-')
pisatelj.writeheader () # zapiši vrstice naslovov
za vrstico v bralniku:
pisatelj.writerow (vrstica)
Writerow ()
Ta metoda zapiše več vrstic hkrati; posredovati moramo seznam seznamov. Primer:
uvoz csvhead_names = ['ime', 'srednje ime', 'priimek', 'starost']
# podatkovne vrstice datoteke CSV
vrstice = [['Anand', 'kumar', 'math', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# pisanje v datoteko CSV
z odprtim ('newfilename.csv ',' w ') kot fp:
# ustvarjanje predmeta zapisovalnika csv
csvwriter = csv.pisatelj (fp)
# napiši naslov
csvwriter.writerow (imena_glave)
# zapišite podatkovne vrstice
csvwriter.zapise (vrstice)
Branje iz datoteke
Za branje datoteke CSV v Pythonu jo moramo odpreti v načinu branja 'r'. Primer:
uvoz csvz odprtim ('ime datoteke.csv ',' r ') kot fp:
podatki = csv.bralnik (fp)
#default ločilo je vejica, če je treba določiti csv, ločen z drugim ločilnikom
#Ex data = csv.bralnik (fp, ločilo = '-')
print (data) # to vrne objekt
# preskočite glavo
next (data) #call naslednji način generatorja
za vrstico v podatkih: # Za iteracijo nad vsako vrstico
print (line) # natisne vsako vrednost na seznamu
fp.see (0) # premakni kazalec v prvo vrstico
za vrstico v podatkih:
print (vrstica [0]) # natisne samo imena
Uporaba bralnika slovarjev
Za branje datoteke CSV z uporabo metode DictReader ().
uvoz csvz odprtim ('ime datoteke.csv ',' r ') kot fp:
bralnik = csv.DictReader (fp) #read datoteka
za vrstico v bralniku:
print (line) #print vsako vrstico v obliki slovarja
fp.see (0) # premakni kazalec v prvo vrstico
za podatke v bralniku:
print (data ['age']) # s tipko 'age' lahko natisnemo samo starost
Zaključek
Naučili smo se branja in pisanja datotek z uporabo modula CSV. Datoteka CSV je najpogosteje uporabljena oblika datoteke v industriji avtomatizacije, saj je podatke enostavno prebrati in spremeniti. Pandas je še ena metoda, ki jo lahko uporabimo za obdelavo datotek CSV.