Definiție: CSV (valoare separată prin virgulă) este similar cu un fișier text în care datele stocate sunt separate printr-un delimitator (de obicei o virgulă). Fiecare câmp este separat printr-un delimitator. În Python, fișierele CSV sunt procesate utilizând modulul CSV. Deci, trebuie să importăm acest modul.
Ex: import csv
Exemplul de mai jos arată modul în care datele sunt stocate într-un fișier CSV. Aici, o virgulă este utilizată ca delimitator.
Numele fișierului: person_info.CSV
prenume, prenume, prenume, vârstă
Anand, kumar, matematică, 31
Sachin, ramesh, tendulakar, 40
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40
Fișierul CSV poate fi deschis în oricare dintre următoarele moduri:
r -> modul de citire
w -> modul de scriere
a -> adăugați modul
În Python, o operație de fișier este efectuată în următoarea ordine:
- Deschideți un fișier;
- Citiți, scrieți sau adăugați. Când specificăm modul de scriere, fișierul va fi deschis în modul de scriere dacă fișierul există, în caz contrar, va crea un fișier. Acest lucru este valabil și pentru modul de adăugare. În modul de citire, dacă există un fișier, acesta va deschide fișierul în modul de citire, în caz contrar, aruncă excepția FileNotFoundError; și
- Închideți fișierul.
Deschideți un fișier CSV
Se utilizează metoda încorporată open ().
Ex:
- f = deschis („nume de fișier.csv ”,” r ”) # În csv python implicit este modul de citire
- f = deschis („nume de fișier.csv ”,„ w ”) # modul de scriere
Închiderea unui fișier
Se folosește metoda încorporată close ().
fp = deschis ("nume de fișier.csv ", 'w')# efectuați câteva operații de fișier
fp.închide()
Operații de fișier folosind cu
Cea mai bună modalitate de a efectua operația de fișier CSV și cea mai frecvent utilizată metodă este folosind instrucțiunea. Folosind acest lucru se asigură că fișierul este închis atunci când blocul din interior este închis.
Ex:
cu deschis ('nume de fișier.csv ',' w ', encoding =' utf-8 ') ca fp:#efectuați câteva operații de fișiere
# declarații în afara blocului cu
Când ieșim cu bloc, fișierul va fi închis automat.
Scrieți într-un fișier CSV
Pentru a scrie într-un fișier CSV, trebuie să îl deschidem în modul de scriere „w” sau să adăugăm „a”.
În exemplul de mai jos, vom citi dintr-un fișier și vom scrie într-un fișier nou.
import csvcu deschis ('nume de fișier.csv ',' r ') ca fp:
cititor = csv.cititor (fp) #citește fișierul
cu open ('newfilename.csv ',' w ') ca fq:
scriitor = csv.scriitor (fq, delimitator = '-')
pentru linie în cititor: #Pentru a itera pe fiecare rând
scriitor.writerow (line) #write line to new file
Folosind scriitor de dicționare
În exemplul de mai jos, vom citi dintr-un fișier și vom scrie într-un fișier nou folosind metoda DictWriter ().
import csvcu deschis ('nume de fișier.csv ',' r ') ca fp:
cititor = csv.DictReader (fp) #citește fișierul
cu open ('newfilename.csv ',' w ', newline = ") ca fq: #newline =" pentru a evita adăugarea unei linii noi suplimentare
row_names = ['prenume', 'prenume', 'prenume', 'vârstă']
scriitor = csv.DictWriter (fq, fieldnames = row_names, delimiter = '-')
scriitor.writeheader () # scrie linii de antet
pentru linie în cititor:
scriitor.writerow (linie)
Scriitori ()
Această metodă scrie mai multe rânduri simultan; trebuie să trecem o listă de liste. Ex:
import csvhead_names = ['prenume', 'prenume', 'prenume', 'vârstă']
# rânduri de date ale fișierului CSV
rânduri = [['Anand', 'kumar', 'math', 31],
[„Sachin”, „ramesh”, „tendulakar”, 40],
[„Virendra”, „sehwag”, „singh”, 38],
['Rahul', 'dravid', 'xyz', 40]]
# scriere în fișier CSV
cu open ('newfilename.csv ',' w ') ca fp:
# crearea unui obiect csv writer
csvwriter = csv.scriitor (fp)
# scrie titlul
csvwriter.writerow (head_names)
# scrieți rândurile de date
csvwriter.scriitori (rânduri)
Citirea din fișier
Pentru a citi fișierul CSV în Python, trebuie să deschidem fișierul în modul de citire „r”. Ex:
import csvcu deschis ('nume de fișier.csv ',' r ') ca fp:
date = csv.cititor (fp)
Delimitatorul #default este virgulă, dacă csv separat de un alt delimitator trebuie specificat
#Ex date = csv.cititor (fp, delimitator = '-')
print (data) # it returnează obiectul
#sărind antetul
next (data) #call metoda următoare a generatorului
pentru linie în date: #Pentru a itera pe fiecare rând
print (line) # printează fiecare valoare dintr-o listă
fp.seek (0) # aduce cursorul la prima linie
pentru linie în date:
print (linie [0]) # printează doar prenumele
Utilizarea cititorului de dicționar
Pentru a citi fișierul CSV folosind metoda DictReader ().
import csvcu deschis ('nume de fișier.csv ',' r ') ca fp:
cititor = csv.DictReader (fp) #citește fișierul
pentru linie în cititor:
print (line) #print fiecare rând sub formă de dictator
fp.seek (0) # aduce cursorul la prima linie
pentru date în cititor:
print (date ['age']) # putem imprima doar vârsta folosind tasta 'age'
Concluzie
Am învățat cum să citim și să scriem un fișier folosind modulul CSV. Fișierul CSV este cel mai frecvent format de fișier utilizat în industria automatizării, deoarece este ușor de citit și modificat datele. De asemenea, Pandas este o altă metodă pe care o putem folosi pentru a procesa fișiere CSV.