Kuinka lukea CSV-tiedosto sisään Python (Moduuli, esimerkkejä pandasta)

⚡ Älykäs yhteenveto

CSV-tiedosto tallentaa taulukkomuotoiset tiedot pelkkää tekstiä käyttäen pilkkuja sarakkeiden ja rivien välissä. Tässä opit lukemaan ja kirjoittamaan CSV-tiedostoja Python käyttämällä sisäänrakennettua csv-moduulia ja pandas-kirjastoa.

  • 📄 Mitä se on: CSV-tiedosto tallentaa taulukkomuotoiset tiedot pilkulla erotettuna tekstinä.
  • ???? csv.lukija: csv.reader() lukee CSV-tiedoston rivejä listoina.
  • 📚 Saneluohjelma: csv.DictReader() lukee jokaisen rivin järjestettyyn sanakirjaan.
  • 🇧🇷 csv.kirjoittaja: csv.writer() ja writerow() kirjoittavat rivejä CSV-tiedostoon.
  • 🐼 Pandat: pandas.read_csv() ja to_csv() lukevat ja kirjoittavat CSV-tiedostoja yhdellä rivillä.
  • 🤖 Tekoälyn apu: Tekoälytyökalut, kuten Copilot, luovat CSV-tiedostojen luku- ja kirjoituskoodia välittömästi.

Lue CSV-tiedosto sisään Python

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ää.

Lataa CSV-tiedot

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')])

Lue CSV-tiedosto sanakirjaan

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

kirjoita CSV-tiedosto sisään Python

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.

Kirjoita CSV-tiedosto Pandasin avulla

UKK

CSV-tiedosto (pilkuilla erotetut arvot) on tavallinen tekstitiedosto, joka tallentaa taulukkomuotoista dataa. Jokainen rivi on rivi, ja pilkut erottavat arvot kussakin sarakkeessa.

Tuo csv-moduuli, avaa tiedosto ja anna se csv.reader()-funktiolle rivien läpikäymiseksi listoina. Vaihtoehtoisesti voit käyttää csv.DictReader()-funktiota jokaisen rivin lukemiseen sanakirjana.

Avaa tiedosto kirjoitustilassa, luo csv.writer()-funktio ja kutsu writerow()-funktiota jokaiselle riville tai writerows()-funktiota useammalle. Kirjoitusohjelma hoitaa lainausmerkit ja erottimet puolestasi.

csv.DictReader() lukee CSV-tiedoston järjestettyihin sanakirjoihin käyttäen otsikkoriviä avaimina. Näin voit käyttää kutakin arvoa sarakkeen nimen perusteella indeksin sijaan.

Kutsu pandas.read_csv('file.csv'), joka lataa CSV-tiedoston DataFrameen yhdelle riville. Pandas käyttää automaattisesti ensimmäistä riviä sarakeotsikoina.

Tekoälyavustajat, kuten GitHub Copilot, täydentävät csv- ja pandas-kutsuja automaattisesti, luovat luku- ja kirjoitussilmukoita ja ehdottavat oikeaa erotinmerkkiä tai lainausmerkkiä lyhyen kuvauksen perusteella.

Kyllä. Tekoälyllä toimivat työkalut voivat automatisoida CSV-datan jäsentämisen, puhdistamisen ja muuntamisen, luoda panda-prosessia ja lisätä virheidenkäsittelyn väärin muodostetuille riveille tai puuttuville sarakkeille.

Käytä sisäänrakennettua csv-moduulia yksinkertaiseen ja kevyeen lukemiseen ja kirjoittamiseen. Valitse pandat, kun sinun on suodatettava, muunnettava tai analysoitava suuria CSV-tietojoukkoja tehokkaasti.

Tiivistä tämä viesti seuraavasti: