Python

CSV-filhåndtering i Python

CSV-filhåndtering i Python
I dette emnet skal vi lære å lese og skrive CSV-filer i python.

Definisjon: CSV (kommaseparert verdi) ligner på en tekstfil der lagrede data er atskilt med en avgrenser (vanligvis et komma). Hvert felt er atskilt med en avgrenser. I Python behandles CSV-filer ved hjelp av CSV-modulen. Så vi må importere denne modulen.

Eks: importere csv

Eksemplet nedenfor viser hvordan dataene lagres i en CSV-fil. Her brukes komma som skilletegn.

Filnavn: person_info.csv
fornavn, mellomnavn, etternavn, alder
Anand, kumar, matematikk, 31
Sachin, ramesh, tendulakar, 40
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40

CSV-filen kan åpnes i en av følgende moduser:
r -> lesemodus
w -> skrivemodus
a -> legg til modus

I Python utføres en filoperasjon i følgende rekkefølge:

Åpne en csv-fil

Innebygd metode åpen () brukes.

Eks:

Lukke en fil

Innebygd metode close () brukes.

fp = open ("filnavn.csv ", 'w')
# utføre noen filoperasjoner
fp.Lukk()

Filoperasjoner ved hjelp av med

Den beste måten å utføre CSV-filoperasjon på, og den mest brukte metoden, er med uttalelsen. Bruk av dette sikrer at filen lukkes når blokken inne med avsluttes.

Eks:

med åpen ('filnavn.csv ',' w ', koding =' utf-8 ') som fp:
# utføre noen filoperasjoner
# uttalelser utenfor med blokken

Når vi avslutter med blokkering, lukkes filen automatisk.

Skriv til en CSV-fil

For å skrive inn i en CSV-fil, må vi åpne den i skriv 'w' eller legge til 'a' -modus.

I eksemplet nedenfor skal vi lese fra en fil og skrive til en ny fil.

importere csv
med åpen ('filnavn.csv ',' r ') som fp:
leser = csv.reader (fp) #read-fil
med åpen ('newfilename.csv ',' w ') som fq:
skribent = csv.skribent (fq, avgrenser = '-')
for linje i leser: #To iterrate over each row
forfatter.writerow (linje) #skriv linje til ny fil

Bruker ordboksforfatter

I eksemplet nedenfor skal vi lese fra en fil og skrive til en ny fil ved hjelp av DictWriter () -metoden.

importere csv
med åpen ('filnavn.csv ',' r ') som fp:
leser = csv.DictReader (fp) #read-fil
med åpen ('newfilename.csv ',' w ', newline = ") som fq: #newline =" for å unngå å legge til ekstra ny linje
row_names = ['fornavn', 'mellomnavn', 'etternavn', 'alder']
skribent = csv.DictWriter (fq, feltnavn = radnavn, skilletegn = '-')
forfatter.skrivehode () # skriv overskriftslinjer
for linje i leser:
forfatter.writerow (linje)

Skribenter ()

Denne metoden skriver flere rader om gangen; vi trenger å sende en liste med lister. Eks:

importere csv
head_names = ['fornavn', 'mellomnavn', 'etternavn', 'alder']
# datarader med csv-fil
rader = [['Anand', 'kumar', 'matematikk', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# skriver til csv-fil
med åpen ('newfilename.csv ',' w ') som fp:
# oppretter et csv-skribentobjekt
csvwriter = csv.forfatter (fp)
# skriv overskriften
csvwriter.writerow (head_names)
# skriv dataradene
csvwriter.writerows (rader)

Lese fra fil

For å lese CSV-filen i Python, må vi åpne filen i lesemodus 'r'. Eks:

importere csv
med åpen ('filnavn.csv ',' r ') som fp:
data = csv.leser (fp)
#default skilletegn er komma, hvis csv atskilt med annen skilletegn må spesifiseres
#Ex data = csv.leser (fp, avgrenser = '-')
skriv ut (data) # det returnerer objektet
#hopp over overskriften
neste (data) #call neste metode for generator
for linje i data: #To iterrate over each row
skriv ut (linje) # skriv ut hver verdi i en liste
fp.søk (0) # bringe markøren til første linje
for line in data:
skriv ut (linje [0]) # skriv bare fornavn

Bruke ordbokleser

Å lese csv-fil ved hjelp av DictReader () -metoden.

importere csv
med åpen ('filnavn.csv ',' r ') som fp:
leser = csv.DictReader (fp) #read-fil
for linje i leser:
print (line) #print hver rad i form av diktar
fp.søk (0) # bringe markøren til første linje
for data i leseren:
print (data ['age']) # vi kan bare skrive ut alder ved å bruke 'age' -tasten

Konklusjon

Vi har lært å lese og skrive en fil ved hjelp av CSV-modulen. CSV-fil er det mest brukte filformatet i automatiseringsindustrien fordi det er enkelt å lese og endre dataene. Pandas er også en annen metode vi kan bruke til å behandle CSV-filer.

Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...