Työskentely CSV-tiedostojen (Comma-Separated Values) kanssa on ohjelmoinnissa yleinen tehtävä, joka ilmenee monissa käytännön sovelluksissa. Olitpa sitten hakemassa tietoja API:ilta tai hallinnoimassa varastoja — mahdollisuus lukea ja kirjoittaa CSV-tiedostoja on välttämätöntä. Tässä oppaassa opit, miten voit käsitellä CSV-tiedostoja tehokkaasti Pythonin avulla. Tarkastellaan CSV-tiedostojen luomista, tietojen lukemista sekä näiden tietojen käsittelyä.
Tärkeimmät havainnot
- Moduulin yleiskatsaus: Python tarjoaa integroitu CSV-moduulin, joka tarjoaa CSV-Readerin ja Writerin.
- Tietorakenne: Voit käyttää sekä listoja että sanakirjoja tietojen tallentamiseen ja käsittelyyn.
- Tehokas I/O-käsittely: Käytä with open(...) tiedostojen käsittelyyn, jotta sinun ei tarvitse huolehtia tiedostojen sulkemisesta.
Vaiheittainen opas
Hakemiston luominen ja CSV-tiedoston luominen
Aloita luomalla tyhjät hakemistot. Tähän hakemistoon sinun tulisi luoda tiedosto nimeltä csvdateien.py. Tämä tiedosto on pääskriptisi CSV-tiedostojen käsittelyyn.

Python-tiedostossasi voit luoda CSV-tiedoston käyttämällä nimeä produkte.csv. Tässä tiedostossa määrittelet sarakkeet otsikoilla Tuote ID, Nimi, Hinta ja Varasto.

CSV-tiedosto voisi esimerkiksi näyttää tältä:
Tuote ID,Nimi,Hinta,Varasto 1,iPad,399,50 2,Nerfgun,29.99,100
CSV-tiedoston lukeminen
Jotta voit lukea tietoja produkte.csv-tiedostosta, tarvitset CSV-moduulin. Moduuli mahdollistaa CSV-tietojen tehokkaan käsittelyn. Voit muuntaa tiedot luettavaksi muotoon käyttämällä with open(...). Tämä välttää tiedosto-objektien manuaalisen sulkemisen ja tekee koodistasi siistimmän ja turvallisemman.
Seuraavassa vaiheessa luot CSV-Readerin. Voit käydä tiedoston läpi rivi kerrallaan ja poimia tiedot:
with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Jokainen rivi luetaan listana, mikä osoittaa, että tiedot ovat odotetusti jäsenneltyjä. Jokainen rivi vastaa yhtä tuotetta ja sisältää tietoja ID:stä, Nimestä, Hinnasta ja Varastosta.
Sanakirjojen käyttö intuitiivisempaan tietojen käsittelyyn
Jotta voit käsitellä tietoja yksinkertaisemmin ja intuitiivisemmin, sinun kannattaa käyttää sanakirjaformaattia. Sanakirja-Readerin avulla voit helpottaa pääsyä tietoihisi kenttä nimien kautta.

Tarvitset myös with open(...), avataksesi tiedoston ja luodaksesi CSV-Readerin. Varmista, että annat luettelon kentistä, jotka haluat lukea:

Nyt voit helposti käyttää kenttiä nimien kautta. Tämä tekee käsittelystäsi moninkertaisesti saavutettavampaa.
CSV-tiedoston kirjoittaminen
Kirjoittaaksesi omia tietoja CSV-tiedostoon, voit käyttää sanakirja-Writer-objektia. Voit luoda luettelon sanakirjoista, jotka edustavat tietojasi.

Tässä on yksinkertainen esimerkki siitä, miten voit tallentaa luettelon supersankareista CSV-tiedostona:
with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Nimi', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

Tiedosto superhelden.csv luodaan nyt ja se sisältää supersankareiden tiedot hyvin jäsennellyssä, luettavassa muodossa.
Päätös ja käytännön sovellus
CSV-tiedostot ovat arvokas työkalu tietojen vaihtamiseen, jota tarvitaan käytännössä usein. Tämä opas antaa sinulle perustiedot CSV-tiedostojen käsittelystä Pythonin avulla. Olet oppinut, miten voit lukea tietoja CSV-tiedostoista, käsitellä näitä tietoja Pythonissa ja kirjoittaa omia tietoja CSV-formaattiin.
Yhteenveto – CSV-tiedostojen käsittely Pythonilla
CSV-tiedostot ovat tärkeä formaatti tietojen vaihtamiseen monissa sovelluksissa. Pythonin avulla voit työskennellä näiden tiedostojen kanssa tehokkaasti ja helposti. Kun olet ensin ymmärtänyt perusasiat, voit helposti soveltaa näitä tekniikoita monimutkaisempaan tietosovellukseen.
Usein kysytyt kysymykset
Kuinka avaan CSV-tiedoston Pythonissa?Voit avata CSV-tiedoston Pythonissa käyttämällä with open('tiedostonimi.csv', 'r'):
Kuinka voin kirjoittaa tietoja CSV-tiedostoon?Tämä tapahtuu käyttämällä csv.writer tai csv.DictWriter-objektia tietojen muotoiluun ja kirjoittamiseen tiedostoon.
Mikä on ero csv.reader ja csv.DictReader välillä?csv.reader lukee tiedot listoina, kun taas csv.DictReader palauttaa tiedot sanakirjoina, joilla on kentän nimet avaimina.
Kuinka määrittelen otsikon CSV-tiedostossa?Otsikko voidaan määrittää writeheader()-komennolla CSV-tiedoston kirjoittamisen yhteydessä Writerin avulla.
Kuinka luen CSV-tiedoston mukautetuilla kentän nimillä?Anna luettelo haluamista kentän nimistä csv.DictReaderin luomisen yhteydessä.