Python

CSV-filhåndtering i Python

CSV-filhåndtering i Python
I dette emne skal vi lære at læse og skrive CSV-filer i python.

Definition: CSV (komma-separeret værdi) svarer til en tekstfil, hvor data, der er gemt, adskilles af en eller anden afgrænser (normalt et komma). Hvert felt er adskilt af en afgrænser. I Python behandles CSV-filer ved hjælp af CSV-modulet. Så vi er nødt til at importere dette modul.

Eks: import csv

Nedenstående eksempel viser, hvordan dataene er gemt i en CSV-fil. Her bruges et komma som en afgrænser.

Filnavn: person_info.csv
fornavn, mellemnavn, efternavn, alder
Anand, kumar, matematik, 31
Sachin, ramesh, tendulakar, 40
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40

CSV-fil kan åbnes i en af ​​følgende tilstande:
r -> læsetilstand
w -> skrivetilstand
a -> tilføj tilstand

I Python udføres en filhandling i følgende rækkefølge:

Åbn en csv-fil

Den indbyggede metode åben () bruges.

Eks:

Lukning af en fil

Indbygget metode close () bruges.

fp = open ("filnavn.csv ", 'w')
# udfør nogle filhandlinger
fp.tæt()

Filhandlinger ved hjælp af med

Den bedste måde at udføre CSV-filhandling på, og den mest anvendte metode, er med udsagnet. Brug af dette sikrer, at filen lukkes, når blokken inde med afsluttes.

Eks:

med åben ('filnavn.csv ',' w ', kodning =' utf-8 ') som fp:
# udfør nogle filhandlinger
#statements uden for med blokken

Når vi afslutter med blok, lukkes filen automatisk.

Skriv til en CSV-fil

For at skrive til en CSV-fil skal vi åbne den i skriv 'w' eller tilføj 'a' -tilstand.

I nedenstående eksempel skal vi læse fra en fil og skrive til en ny fil.

importer csv
med åben ('filnavn.csv ',' r ') som fp:
læser = csv.læser (fp) #read-fil
med åben ('newfilename.csv ',' w ') som fq:
forfatter = csv.forfatter (fq, afgrænser = '-')
til linje i læser: #To iterrate over each row
forfatter.writerow (line) #write line til ny fil

Brug af ordbogsforfatter

I nedenstående eksempel skal vi læse fra en fil og skrive til en ny fil ved hjælp af DictWriter () -metoden.

importere csv
med åben ('filnavn.csv ',' r ') som fp:
læser = csv.DictReader (fp) #read-fil
med åben ('newfilename.csv ',' w ', newline = ") som fq: #newline =" for at undgå at tilføje ekstra ny linje
row_names = ['fornavn', 'mellemnavn', 'efternavn', 'alder']
forfatter = csv.DictWriter (fq, fieldnames = row_names, delimiter = '-')
forfatter.skrivehoved () # skriv overskriftslinjer
til linje i læser:
forfatter.writerow (linje)

Writerows ()

Denne metode skriver flere rækker ad gangen; vi er nødt til at sende en liste over lister. Eks:

importer csv
head_names = ['fornavn', 'mellemnavn', 'efternavn', 'alder']
# datarækker med csv-fil
rækker = [['Anand', 'kumar', 'matematik', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# skriver til csv-fil
med åben ('newfilename.csv ',' w ') som fp:
# opretter et csv-skribentobjekt
csvwriter = csv.forfatter (fp)
# skriv overskriften
csvwriter.forfatter (hovednavn)
# skriv datarækkerne
csvwriter.writerows (rækker)

Læsning fra fil

For at læse CSV-filen i Python skal vi åbne filen i læsningstilstand 'r'. Eks:

importere csv
med åben ('filnavn.csv ',' r ') som fp:
data = csv.læser (fp)
#default afgrænsning er komma, hvis csv adskilt af anden afgrænser skal specificeres
#Ex data = csv.læser (fp, afgrænser = '-')
udskriv (data) # it returnerer objekt
# springer over overskriften
næste (data) #call næste metode til generator
for linje i data: #To iterrate over each row
udskriv (linje) # udskriv hver værdi på en liste
fp.søg (0) # bringer markøren til første linje
for line in data:
udskriv (linje [0]) # udskriv kun fornavne

Brug af ordbogslæser

For at læse csv-fil ved hjælp af DictReader () -metoden.

importere csv
med åben ('filnavn.csv ',' r ') som fp:
læser = csv.DictReader (fp) #read-fil
til linje i læser:
udskriv (linje) # udskriv hver række i form af diktar
fp.søg (0) # bringer markøren til første linje
til data i læser:
print (data ['age']) # vi kan kun udskrive age ved hjælp af 'age' -tasten

Konklusion

Vi har lært, hvordan man læser og skriver en fil ved hjælp af CSV-modulet. CSV-fil er det mest anvendte filformat i automatiseringsindustrien, fordi det er let at læse og ændre dataene. Pandas er også en anden metode, vi kan bruge til at behandle CSV-filer.

Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...