Definīcija: CSV (komatiem atdalīta vērtība) ir līdzīga teksta failam, kurā saglabātos datus atdala daži atdalītāji (parasti komati). Katru lauku atdala ar atdalītāju. Programmā Python CSV faili tiek apstrādāti, izmantojot CSV moduli. Tātad mums ir jāimportē šis modulis.
Piem: importēt csv
Šajā piemērā parādīts, kā dati tiek glabāti CSV failā. Šeit kā atdalītājs tiek izmantots komats.
Faila nosaukums: person_info.csv
vārds, otrais vārds, uzvārds, vecums
Anands, kumars, matemātika, 31
Sačins, ramesh, tendulakar, 40
Virendra, sehwag, singh, 38 gadi
Rahuls, dravīds, xyz, 40 gadi
CSV failu var atvērt jebkurā no šiem režīmiem:
r -> lasīšanas režīms
w -> rakstīšanas režīms
a -> pievienot režīmu
Programmā Python faila darbība tiek veikta šādā secībā:
- Atveriet failu;
- Lasīt, rakstīt vai pievienot. Kad mēs norādīsim rakstīšanas režīmu, fails tiks atvērts rakstīšanas režīmā, ja fails pastāv, pretējā gadījumā tas gatavojas izveidot failu. Tas attiecas arī uz pievienošanas režīmu. Ja fails pastāv lasīšanas režīmā, tas tiks atvērts lasīšanas režīmā, pretējā gadījumā tas izmet FileNotFoundError izņēmumu; un
- Aizveriet failu.
Atveriet csv failu
Tiek izmantota iebūvētā metode open ().
Piem .:
- f = atvērts (“faila nosaukums.csv ”,” r ”) # csv python noklusējums ir lasīšanas režīms
- f = atvērts (“faila nosaukums.csv ”, 'w') # rakstīšanas režīms
Faila aizvēršana
Tiek izmantota iebūvētā metode close ().
fp = open ("faila nosaukums.csv ", 'w')# veikt dažas failu darbības
fp.aizvērt ()
Failu darbības, izmantojot
Labākais veids, kā veikt CSV faila darbību, un visbiežāk izmantotā metode ir paziņojums. Izmantojot šo, tiek nodrošināts, ka fails tiek aizvērts, kad tiek aizvērts iekšējais bloks ar.
Piem .:
ar atvērtu ('faila nosaukums.csv ',' w ', encoding =' utf-8 ') kā fp:#perform dažas failu darbības
#statements ārpus ar bloku
Kad mēs iziesim ar bloku, fails tiks automātiski aizvērts.
Rakstiet uz CSV failu
Lai ierakstītu CSV failā, mums tas jāatver rakstīšanas režīmā “w” vai jāpievieno “a”.
Šajā piemērā mēs lasīsim no viena faila un rakstīsim uz jaunu failu.
importēt csvar atvērtu ('faila nosaukums.csv ',' r ') kā fp:
lasītājs = csv.lasītājs (fp) # nolasīts fails
ar atvērtu ('newfilename.csv ',' w ') kā fq:
rakstnieks = csv.rakstnieks (fq, norobežotājs = '-')
rindiņai lasītājā: # Lai atkārtotu katru rindu
rakstnieks.writerow (line) #write line uz jaunu failu
Izmantojot vārdnīcas rakstnieku
Šajā piemērā mēs lasīsim no viena faila un rakstīsim uz jaunu failu, izmantojot metodi DictWriter ().
importēt csvar atvērtu ('faila nosaukums.csv ',' r ') kā fp:
lasītājs = csv.DictReader (fp) # nolasīts fails
ar atvērtu ('newfilename.csv ',' w ', newline = ") kā fq: #newline =", lai nepievienotu papildu jaunu rindu
rindas_nosaukumi = ['vārds', 'otrais vārds', 'uzvārds', 'vecums']
rakstnieks = csv.DictWriter (fq, lauka nosaukumi = rindas_nosaukumi, norobežotājs = '-')
rakstnieks.writeheader () # raksta virsrakstu rindas
rindai lasītājā:
rakstnieks.rakstītājs (līnija)
Rakstnieku rindas ()
Šī metode vienlaikus raksta vairākas rindas; mums jānokārto sarakstu saraksts. Piem .:
importēt csvhead_names = ['vārds', 'otrais vārds', 'uzvārds', 'vecums']
# csv faila datu rindas
rindas = [['Anand', 'kumar', 'math', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# raksta CSV failā
ar atvērtu ('newfilename.csv ',' w ') kā fp:
# csv rakstītāja objekta izveide
csvwriter = csv.rakstnieks (fp)
# uzrakstiet virsrakstu
csvwriter.writerow (head_names)
# uzrakstiet datu rindas
csvwriter.rakstītāju rindas (rindas)
Lasīšana no faila
Lai lasītu CSV failu Python, mums jāatver fails lasīšanas režīmā “r”. Piem .:
importēt csvar atvērtu ('faila nosaukums.csv ',' r ') kā fp:
dati = csv.lasītājs (fp)
#default atdalītājs ir komats, ja ir jānorāda csv, kas atdalīts ar citu atdalītāju
#Ex dati = csv.lasītājs (fp, norobežotājs = '-')
print (dati) # tas atgriež objektu
#izlaižot galveni
next (dati) #call nākamā ģeneratora metode
rindiņai datos: # Lai atkārtotu katru rindu
print (line) # izdrukājiet katru vērtību sarakstā
fp.seek (0) # ieved kursoru pirmajā rindā
rindai datos:
drukāt (rinda [0]) # drukāt tikai vārdus
Vārdnīcu lasītāja izmantošana
Lai lasītu csv failu, izmantojot metodi DictReader ().
importēt csvar atvērtu ('faila nosaukums.csv ',' r ') kā fp:
lasītājs = csv.DictReader (fp) # nolasīts fails
rindai lasītājā:
drukāt (līnija) # izdrukājiet katru rindu diktārā formā
fp.seek (0) # ieved kursoru pirmajā rindā
datiem lasītājā:
drukāt (dati ['vecums']) # mēs varam izdrukāt tikai vecumu, izmantojot taustiņu 'vecums'
Secinājums
Mēs esam iemācījušies lasīt un rakstīt failu, izmantojot CSV moduli. CSV fails ir visbiežāk izmantotais faila formāts automatizācijas nozarē, jo to ir viegli nolasīt un modificēt. Arī Pandas ir vēl viena metode, ko mēs varam izmantot, lai apstrādātu CSV failus.