Python

CSV-tiedostojen käsittely Pythonissa

CSV-tiedostojen käsittely Pythonissa
Tässä aiheessa aiomme oppia lukemaan ja kirjoittamaan CSV-tiedostoja pythonissa.

Määritelmä: CSV (pilkuilla erotettu arvo) on samanlainen kuin tekstitiedosto, jossa tallennetut tiedot erotetaan erottimella (yleensä pilkulla). Jokainen kenttä erotetaan erottimella. Pythonissa CSV-tiedostot käsitellään CSV-moduulin avulla. Joten meidän on tuotava tämä moduuli.

Esim: Tuo csv

Seuraava esimerkki näyttää tapa, jolla tiedot tallennetaan CSV-tiedostoon. Tässä pilkkua käytetään erottimena.

Tiedostonimi: person_info.csv
etunimi, toinen nimi, sukunimi, ikä
Anand, kumar, matematiikka, 31
Sachin, ramesh, tendulakar, 40
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40

CSV-tiedosto voidaan avata missä tahansa seuraavista tiloista:
r -> lukutila
w -> kirjoitustila
a -> liitä tila

Pythonissa tiedostotoiminto suoritetaan seuraavassa järjestyksessä:

Avaa csv-tiedosto

Sisäänrakennettua menetelmää open () käytetään.

Esim .:

Tiedoston sulkeminen

Sisäänrakennettua menetelmää close () käytetään.

fp = open ("tiedostonimi.csv ", 'w')
# suorittaa joitain tiedostotoimintoja
fp.kiinni()

Tiedostotoiminnot käyttämällä

Paras tapa suorittaa CSV-tiedostotoiminta ja yleisimmin käytetty menetelmä on lause. Tämän käyttäminen varmistaa, että tiedosto suljetaan, kun sisällä oleva lohko poistuu.

Esim .:

kanssa open ('tiedostonimi.csv ',' w ', koodaus =' utf-8 ') fp:
# suorita joitain tiedostotoimintoja
#lauseet lohkon ulkopuolella

Kun poistumme estolla, tiedosto suljetaan automaattisesti.

Kirjoita CSV-tiedostoon

CSV-tiedostoon kirjoittamiseksi meidän on avattava se kirjoitustilassa 'w' tai liitettävä 'a' -tila.

Alla olevassa esimerkissä aiomme lukea yhdestä tiedostosta ja kirjoittaa uuteen tiedostoon.

tuo csv
kanssa open ('tiedostonimi.csv ',' r ') fp:
lukija = csv.lukija (fp) #read-tiedosto
kanssa open ('uusi tiedostonimi.csv ',' w ') fq:
kirjailija = csv.kirjoittaja (fq, erotin = '-')
riville lukijassa: # Toistaaksesi jokaisen rivin
kirjailija.writerow (line) #write rivi uuteen tiedostoon

Sanakirjan kirjoittajan käyttö

Alla olevassa esimerkissä aiomme lukea yhdestä tiedostosta ja kirjoittaa uuteen tiedostoon DictWriter () -menetelmällä.

tuo csv
kanssa open ('tiedostonimi.csv ',' r ') fp:
lukija = csv.DictReader (fp) #luettu tiedosto
kanssa open ('uusi tiedostonimi.csv ',' w ', newline = ") kuten fq: #newline =" välttääksesi ylimääräisen uuden rivin lisäämisen
rivinimet = ['etunimi', 'keskimmäinen nimi', 'sukunimi', 'ikä']
kirjailija = csv.DictWriter (fq, kentänimet = rivinimet, erotin = '-')
kirjailija.writeheader () # kirjoita otsikkorivit
riville lukija:
kirjailija.kirjailija (rivi)

Kirjoitussarjat ()

Tämä menetelmä kirjoittaa useita rivejä kerrallaan; meidän on lähetettävä luettelo luetteloista. Esim .:

tuo csv
head_names = ['etunimi', 'toinen nimi', 'sukunimi', 'ikä']
# CSV-tiedoston tietoriviä
rivit = [['Anand', 'kumar', 'matematiikka', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# kirjoittaminen csv-tiedostoon
kanssa open ('uusi tiedostonimi.csv ',' w ') fp:
# luodaan csv-kirjoittajaobjekti
csvwriter = csv.kirjailija (fp)
# kirjoita otsikko
csvwriter.writerow (head_names)
# kirjoita tietorivit
csvwriter.kirjoittajat (rivit)

Luetaan tiedostosta

CSV-tiedoston lukemiseksi Pythonissa meidän on avattava tiedosto lukutilassa 'r'. Esim .:

tuo csv
kanssa open ('tiedostonimi.csv ',' r ') fp:
data = csv.lukija (fp)
#default erotin on pilkku, jos muilla erottimilla erotettu csv on määritettävä
#Ex data = csv.lukija (fp, erotin = '-')
tulosta (data) # se palauttaa objektin
# ohittaa otsikko
seuraava (data) # kutsu seuraava generaattorin menetelmä
riville tiedoissa: # Voit toistaa jokaisen rivin
tulosta (rivi) # tulosta kukin arvo luettelosta
fp.seek (0) # tuo kohdistin ensimmäiselle riville
riville tiedoissa:
tulosta (rivi [0]) # tulosta vain etunimet

Sanakirjalukijan käyttö

Csv-tiedoston lukeminen DictReader () -menetelmällä.

tuo csv
kanssa open ('tiedostonimi.csv ',' r ') fp:
lukija = csv.DictReader (fp) #luettu tiedosto
riville lukija:
tulosta (viiva) # tulosta kukin rivi sanakirjan muodossa
fp.etsi (0) # tuo kohdistin ensimmäiselle riville
tiedot lukijalle:
tulosta (data ['ikä']) # voimme tulostaa vain iän käyttämällä 'ikä' -näppäintä

Johtopäätös

Olemme oppineet lukemaan ja kirjoittamaan tiedostoja CSV-moduulin avulla. CSV-tiedosto on automaatioteollisuuden yleisimmin käytetty tiedostomuoto, koska tietoja on helppo lukea ja muokata. Lisäksi Pandas on toinen menetelmä, jota voimme käyttää CSV-tiedostojen käsittelemiseen.

Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Kuinka siepata ja suoratoistaa pelisessiosi Linuxissa
Aikaisemmin pelaamista pidettiin vain harrastuksena, mutta ajan myötä pelialalla tapahtui valtava kasvu tekniikan ja pelaajien määrän suhteen. Peliala...
Parhaat pelit, joita voi seurata käsien seurannalla
Oculus Quest esitteli äskettäin loistavan ajatuksen seurannasta ilman ohjaimia. Yhä kasvavan määrän pelejä ja aktiviteetteja, jotka tukevat tukea joko...