Kuinka lukea CSV-tiedosto sisään Python (Moduuli, esimerkkejä pandasta)
Mikä on CSV-tiedosto?
A CSV-tiedosto on yksinkertainen tekstitiedosto, joka käyttää tiettyä rakennetta taulukkotietojen järjestämiseen. CSV-tiedoston vakiomuoto määritellään rivi- ja saraketiedoilla, joissa rivinvaihto päättää jokaisen rivin aloittaakseen seuraavan rivin, ja jokainen sarake erotetaan pilkulla rivin sisällä.
CSV on yleinen tiedonsiirtomuoto, koska se on kompakti, yksinkertainen ja yleinen. Monet verkkopalvelut antavat käyttäjiensä viedä taulukkomuotoisia tietoja verkkosivustolta CSV-tiedostoon. CSV-tiedostot avautuvat Exceliin, ja lähes kaikissa tietokannoista on työkalu, joka mahdollistaa tuonnin CSV-tiedostoista.
CSV-mallitiedosto
Taulukoiden muodossa olevaa dataa kutsutaan myös CSV:ksi (comma separated values) – kirjaimellisesti "pilkuilla erotetuiksi arvoiksi". Tämä on tekstimuoto, joka on tarkoitettu taulukkotietojen esittämiseen. Jokainen tiedoston rivi on yksi taulukon rivi. Yksittäisten sarakkeiden arvot erotetaan erotinmerkillä – pilkulla (,), puolipisteellä (;) tai muulla symbolilla. CSV on helppo lukea ja käsitellä Python.
Harkitse seuraavaa taulukkoa
Taulukon tiedot
Ohjelmointikieli | Suunnitellut | ilmestyi | Laajentaminen |
---|---|---|---|
Python | Guido van Rossum | 1991 | .py |
Java | james goslin | 1995 | .Java |
C++ | Bjarne Stroustrup | 1983 | .cpp |
Voit esittää tämän taulukon csv-muodossa kuten alla.
CSV-tiedot
Ohjelmointikieli, suunnittelija, ilmestynyt, laajennus
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup, 1983,.cpp
Kuten näet, jokainen rivi on uusi rivi, ja jokainen sarake on erotettu pilkulla. Tämä on esimerkki siitä, miltä CSV-tiedosto näyttää.
Python CSV-moduuli
Python tarjoaa CSV-moduulin CSV-tiedostojen käsittelemiseen. Jotta voit lukea/kirjoittaa tietoja, sinun on selattava CSV-tiedoston rivejä. Sinun on käytettävä split-menetelmää saadaksesi tietoja määritetyistä sarakkeista.
CSV-moduulin toiminnot
CSV-moduulin dokumentaatiosta löydät seuraavat toiminnot:
- csv.field_size_limit – palauttaa kentän enimmäiskoon
- csv.get_dialec – hanki murre, joka liittyy nimeen
- csv.list_dialects – näyttää kaikki rekisteröidyt murteet
- csv.reader – lue tiedot csv-tiedostosta
- csv.register_dialec – yhdistä murre nimeen
- csv.writer – kirjoita tiedot csv-tiedostoon
- csv.unregister_dialec – poista murre, joka liittyy murrerekisterin nimeen
- csv.QUOTE_ALL – Lainaa kaikkea tyypistä riippumatta.
- csv.QUOTE_MINIMAL – Lainauskentät erikoismerkeillä
- csv.QUOTE_NONNUMERIC – Lainaa kaikki kentät, jotka eivät ole numeroarvoja
- csv.QUOTE_NONE – Älä lainaa mitään tulosteessa
Tässä opetusohjelmassa keskitymme vain luku- ja kirjoitustoimintoihin, joiden avulla voit muokata, muokata ja käsitellä CSV-tiedoston tietoja.
Kuinka lukea CSV-tiedosto sisään Python
Alla on ohjeita CSV-tiedoston lukemiseen Python.
Vaihe 1) Jos haluat lukea tietoja CSV-tiedostoista, sinun on käytettävä lukutoimintoa lukuobjektin luomiseen.
Lukijatoiminto on kehitetty ottamaan tiedoston jokainen rivi ja tekemään luettelon kaikista sarakkeista. Sitten sinun on valittava sarake, jolle haluat muuttujan tiedot.
Se kuulostaa paljon monimutkaisemmalta kuin se on. Katsotaanpa tätä Python koodia CSV-tiedoston lukemiseen, niin huomaamme, että csv-tiedoston käyttäminen ei ole niin vaikeaa.
#import necessary modules import csv with open('X:\data.csv','rt')as f: data = csv.reader(f) for row in data: print(row)
Vaihe 2) Kun suoritat yllä olevan ohjelman, tulos on:
['Programming language; Designed by; Appeared; Extension'] ['Python; Guido van Rossum; 1991; .py'] ['Java; James Gosling; 1995; .java'] ['C++; Bjarne Stroustrup;1983;.cpp']
Kuinka lukea CSV-tiedosto sanakirjaksi Python
Voit myös käyttää DictReaderia CSV-tiedostojen lukemiseen. Tulokset tulkitaan sanakirjaksi, jossa otsikkorivi on avain ja muut rivit arvoja.
Harkitse seuraavaa koodia
#import necessary modules import csv reader = csv.DictReader(open("file2.csv")) for raw in reader: print(raw)
Tämän koodin tulos on:
OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')]) OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')]) OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])
Ja tämä tapa lukea tietoja CSV-tiedostosta on paljon helpompaa kuin aikaisempi menetelmä. Tämä ei kuitenkaan ole paras tapa lukea tietoja.
Kuinka kirjoittaa CSV-tiedosto sisään Python
Näin kirjoitat CSV-tiedoston Python:
Kun sinulla on joukko tietoja, jotka haluat tallentaa CSV-tiedostoon, sinun on käytettävä writer()-funktiota. Jos haluat iteroida tietoja rivien (rivien) yli, sinun on käytettävä writerow()-funktiota.
Harkitse seuraavaa esimerkkiä. Kirjoitamme tiedot tiedostoon "writeData.csv", jossa erotin on heittomerkki.
#import necessary modules import csv with open('X:\writeData.csv', mode='w') as file: writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) #way to write to csv file writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension']) writer.writerow(['Python', 'Guido van Rossum', '1991', '.py']) writer.writerow(['Java', 'James Gosling', '1995', '.java']) writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])
Tulos csv-tiedostossa on:
Programming language, Designed by, Appeared, Extension Python, Guido van Rossum, 1991, .py Java, James Gosling, 1995, .java C++, Bjarne Stroustrup,1983,.cpp
Lue CSV-tiedosto Pandasin avulla
Pandas on avoimen lähdekoodin kirjasto, jonka avulla voit tuoda CSV:tä sisään Python ja suorittaa tietojen käsittelyä. Pandat tarjoavat helpon tavan luoda, käsitellä ja poistaa tietoja.
Sinun on asennettava pandas-kirjasto komennolla pip install pandas . Sisään Windows, suoritat tämän komennon komentokehotteessa ollessasi Linuxissa terminaalissa.
CSV:n lukeminen pandas DataFrameen on erittäin nopeaa ja helppoa:
#import necessary modules import pandas result = pandas.read_csv('X:\data.csv') print(result)
Tulos lue CSV Pandat Esimerkiksi:
Programming language, Designed by, Appeared, Extension 0 Python, Guido van Rossum, 1991, .py 1 Java, James Gosling, 1995, .java 2 C++, Bjarne Stroustrup,1983,.cpp
Erittäin hyödyllinen kirjasto. Vain kolmella koodirivillä saat saman tuloksen kuin aiemmin. Pandat tietävät, että CSV:n ensimmäinen rivi sisälsi sarakkeiden nimet, ja se käyttää niitä automaattisesti.
Kirjoita CSV-tiedosto Pandasin avulla
CSV-tiedostoon kirjoittaminen Pandasin avulla on yhtä helppoa kuin lukeminen. Täällä voit vakuuttaa siitä. Ensin sinun on luotava DataFrame seuraavan perusteella Python kirjoittaa CSV-koodiin.
from pandas import DataFrame C = {'Programming language': ['Python','Java', 'C++'], 'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'], 'Appeared': ['1991', '1995', '1985'], 'Extension': ['.py', '.java', '.cpp'], } df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension']) export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored print (df)
Tässä on tulos
Programming language, Designed by, Appeared, Extension 0 Python, Guido van Rossum, 1991, .py 1 Java, James Gosling, 1995, .java 2 C++, Bjarne Stroustrup,1983,.cpp
Ja CSV-tiedosto luodaan määritettyyn paikkaan.
Yhteenveto
Joten nyt tiedät kuinka käyttää menetelmää "csv" ja myös lukea ja kirjoittaa tietoja CSV-muodossa. CSV-tiedostoja käytetään laajalti ohjelmistosovelluksissa, koska niitä on helppo lukea ja hallita, ja niiden pieni koko tekee niistä suhteellisen nopeita käsittelyyn ja lähetykseen.
Csv-moduuli tarjoaa erilaisia toimintoja ja luokkia, joiden avulla voit lukea ja kirjoittaa helposti. Voit katsoa virkamiehen Python dokumentaatiota ja löydä lisää mielenkiintoisia vinkkejä ja moduuleja. CSV on paras tapa tallentaa, tarkastella ja lähettää tietoja. Itse asiassa oppiminen ei ole niin vaikeaa, miltä aluksi näyttää. Mutta pienellä harjoituksella hallitset sen.
Pandas on loistava vaihtoehto CSV-tiedostojen lukemiseen.
On myös muita tapoja jäsentää tekstitiedostoja kirjastoilla, kuten ANTLR, PLY ja PlyPlus. Ne kaikki pystyvät käsittelemään raskasta jäsentämistä, ja jos yksinkertainen merkkijonokäsittely ei toimi, on olemassa säännöllisiä lausekkeita, joita voit käyttää.