Darbo su CSV-failais (Comma-Separated Values) naudojimas programavimo srityje yra dažna užduotis, kuri atsiskleidžia daugelyje praktinių programų. Nesvarbu, ar tu gauni duomenis iš API, ar valdai prekių likučius - galimybė skaityti ir rašyti CSV failus yra neatsiejama. Šiame vadove sužinosi, kaip efektyviai apdoroti CSV failus su Python. Mes peržvelgsime CSV failų kūrimą, duomenų skaitymą ir šių duomenų manipuliavimą.

Pagrindinės įžvalgos

  • Modulio apžvalga: Python siūlo integruotą CSV modulį, kuris teikia CSV skaitytuvus ir rašytojus.
  • Duomenų struktūra: Tu gali naudoti tiek sąrašus, tiek žodynus, kad saugotum ir apdorotum duomenis.
  • Efektyvus E/A tvarkymas: Naudok with open(...) failų prieigai, kad nereikėtų nerimauti dėl failų uždarymo.

Žingsnis po žingsnio instrukcija

Katalogo sukūrimas ir CSV failo sukūrimas

Pradžioje sukurk tuščią katalogą. Šiame kataloge turėtum sukurti failą pavadinimu csvdateien.py. Šis failas bus tavo pagrindinis skriptas darbui su CSV failais.

Efektyvus CSV failų apdorojimas su Python

Viduje savo Python failo gali sukurti CSV failą, naudodamas pavadinimą produkte.csv. Šiame faile nustatysi stulpelius su pavadinimais Produkt ID, Pavadinimas, Kaina ir Prekių likutis.

Efektyvus CSV failų apdorojimas su Python

CSV failas galėtų atrodyti taip:

Produkt ID,Pavadinimas,Kaina,Prekių likutis 1,iPad,399,50 2,Nerfgun,29.99,100

CSV failo skaitymas

Norint skaityti duomenis iš produkte.csv failo, tau reikės CSV modulio. Šis modulis leidžia tau efektyviai apdoroti CSV duomenis. Tu gali konvertuoti duomenis į skaitomą formatą naudodamas with open(...). Tai išvengia rankinio failų objektų uždarymo ir daro tavo kodą švaresnį ir saugesnį.

Knextame žingsnyje sukursi CSV skaitytuvą. Naudodamas jį galėsi eiti per failą eilutę po eilutės ir išgauti duomenis:

import csv

with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Efektyvus CSV failų apdorojimas su Python

Šiuo atveju kiekviena eilutė yra skaitoma kaip sąrašas, kas rodo, kad duomenys yra struktūrizuoti kaip tikėtasi. Kiekviena eilutė atitinka produktą ir turi informaciją apie ID, pavadinimą, kainą ir prekių likutį.

Žodynų naudojimas intuityvesniam duomenų apdorojimui

Norint paprasčiau ir intuityviau dirbti su duomenimis, reikia naudoti žodyno formatą. Naudojant žodyno skaitytuvą, gali palengvinti prieigą prie savo duomenų per laukų pavadinimus.

Efektyvus CSV failų apdorojimas su Python

Čia taip pat reikia naudoti with open(...), kad atvertum failą ir sukurtum CSV skaitytuvą. Įsitikink, kad nurodei laukų, kuriuos nori išgauti, sąrašą:

with open('produkte.csv', newline='') as csvfile: fieldnames = ['Produkt ID', 'Pavadinimas', 'Kaina', 'Prekių likutis'] csvreader = csv.DictReader(csvfile, fieldnames=fieldnames) for row in csvreader: print(row)
Efektyvus CSV failų apdorojimas su Python

Dabar gali lengvai pasiekti laukus per pavadinimus. Tai padaro tavo apdorojimą daug prieinamesnį.

CSV failo rašymas

Norėdamas užrašyti savo duomenis į CSV failą, gali naudoti žodyno rašytojo objektą. Tu turi galimybę sukurti sąrašą žodynų, kurie atspindi tavo duomenis.

Efektyvus CSV failų apdorojimas su Python

Štai paprastas pavyzdys, kaip gali išsaugoti superherojų sąrašą kaip CSV failą:

superhelden = [ {'Pavadinimas': 'Tony Stark', 'Alias': 'Iron Man'}, {'Pavadinimas': 'Peter Parker', 'Alias': 'Spider-Man'}, {'Pavadinimas': 'Oliver Queen', 'Alias': 'Green Arrow'}
]

with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Pavadinimas', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

writer.writeheader()
for held in superhelden: writer.writerow(held)
Efektyvus CSV failų apdorojimas su Python

Failas superhelden.csv dabar bus sukurtas ir jame bus superherojų duomenys gerai struktūrizuotame, skaitomame formate.

Baigimas ir praktinis taikymas

CSV failai yra vertinga priemonė duomenų mainams, kuri dažnai reikalinga praktikoje. Ši instrukcija suteikia tau pagrindus CSV failų apdorojimui su Python. Tu sužinojai, kaip išgauti duomenis iš CSV failų, juos apdoroti Python ir rašyti savo duomenis į CSV formatą.

Sumėnimo – CSV failų apdorojimas su Python

CSV failai yra svarbus formatas duomenų mainams daugelyje programų. Su Python gali efektyviai ir paprastai dirbti su šiais failais. Kai suprasi pagrindus, galėsi šias technikas lengvai taikyti sudėtingose duomenų programose.

Dažnai užduodami klausimai

Kaip atidaryti CSV failą Python?Tu gali atidaryti CSV failą Python su with open('failo_pavadinimas.csv', 'r'):.

Kaip galiu rašyti duomenis į CSV failą?Dėl to tu naudojies csv.writer arba csv.DictWriter objektą, kad formatuotum ir rašytum duomenis į failą.

Koks skirtumas tarp csv.reader ir csv.DictReader?csv.reader skaito duomenis kaip sąrašus, tuo tarpu csv.DictReader pateikia duomenis kaip žodynus, kur laukų pavadinimai yra raktai.

Kaip galiu nustatyti antraštę CSV faile?Antraštė gali būti nurodyta su writeheader() rašant CSV failą per rašytoją.

Kaip galiu skaityti CSV failą su savarankiškais laukų pavadinimais?Perduok pageidaujamų laukų pavadinimų sąrašą kuriant csv.DictReader.