Delati s CSV-datotekami (Comma-Separated Values) je v programiranju pogosta naloga, ki se kaže v mnogih praktičnih aplikacijah. Ne glede na to, ali pridobivate podatke iz API-jev ali upravljate zaloge — možnost branja in pisanja CSV-datotek je nezamenljiva. V tem priročniku se boste naučili, kako učinkovito obdelovati CSV-datoteke z Python. Poglejali bomo ustvarjanje CSV-datotek, branje podatkov in manipulacijo s temi podatki.

Najpomembnejši vpogledi

  • Pregled modula: Python ponuja vgrajen CSV modul, ki zagotavlja CSV-Reader in Writer.
  • Struktura podatkov: Lahko uporabite tako sezname kot slovarje za shranjevanje in obdelavo podatkov.
  • Učinkovito ravnanje z vhodom/izhodom: Uporabite with open(...), da obvladate dostop do datotek, tako da vam ni treba skrbeti za zapiranje datotek.

Navodila po korakih

Ustvarjanje imenika in ustvarjanje CSV-datoteke

Na začetku ustvarite prazen imenik. V tem imeniku bi morali ustvariti datoteko z imenom csvdatoteke.py. Ta datoteka bo vaš glavni skript za delo z CSV-datotekami.

Učinkovita obdelava CSV-dokumentov s Python

Notri v svoji Python datoteki lahko ustvarite CSV datoteko z uporabo imena produkte.csv. V tej datoteki boste definirali stolpce z glavo Produkt ID, Ime, Cena in Zaloga.

Učinkovita obdelava CSV-datotek s Pythonom

CSV-datoteka bi lahko izgledala takole:

Produkt ID,Ime,Cena,Zaloga 1,iPad,399,50 2,Nerfgun,29.99,100

Branje CSV-datoteke

Za branje podatkov iz datoteke produkte.csv potrebujete CSV modul. Modul vam omogoča učinkovito obdelavo CSV podatkov. Podatke lahko pretvorite v berljiv format s pomočjo with open(...). To preprečuje ročno zapiranje objektov datoteke in naredi vaš kodo bolj čisto in varno.

V naslednjem koraku ustvarite CSV-Reader. S tem lahko pregledate datoteko vrstico po vrstico in izvlečete podatke:

import csv

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

Učinkovita obdelava CSV-dokumentov s Pythonom

Tukaj se vsaka vrstica bere kot seznam, kar kaže, da so podatki strukturirani, kot je pričakovano. Vsaka vrstica ustreza enemu izdelku in vsebuje informacije o ID, imenu, ceni in zalogi.

Uporaba slovarjev za bolj intuitivno obdelavo podatkov

Da bodo podatki preprostejši in bolj intuitivni, uporabite format slovarja. S slovarjem lahko olajšate dostop do svojih podatkov preko imen polj.

Učinkovito obdelovanje CSV-datotek s Python-om

Tukaj potrebujete prav tako with open(...), da odprete datoteko in ustvarite CSV-Reader. Prepričajte se, da navedete seznam polj, ki jih želite prebrati:

with open('produkte.csv', newline='') as csvfile: fieldnames = ['Produkt ID', 'Ime', 'Cena', 'Zaloga'] csvreader = csv.DictReader(csvfile, fieldnames=fieldnames) for row in csvreader: print(row)
Učinkovito obdelovanje CSV datotek s Python

Zdaj lahko enostavno dostopate do polj preko imen. To naredi vaše obdelovanje precej bolj dostopno.

Pisanje v CSV-datoteko

Za pisanje lastnih podatkov v CSV-datoteko lahko uporabite objekt Dictionary-Writer. Imate možnost ustvariti seznam slovarjev, ki predstavljajo vaše podatke.

Učinkovito obdelovanje CSV-datotek z uporabo Pythona

Tukaj je preprost primer, kako lahko shranite seznam superjunakov kot CSV-datoteko:

superheroj = [ {'Ime': 'Tony Stark', 'Vzdevek': 'Iron Man'}, {'Ime': 'Peter Parker', 'Vzdevek': 'Spider-Man'}, {'Ime': 'Oliver Queen', 'Vzdevek': 'Green Arrow'}
]

with open('superheroj.csv', 'w', newline='') as csvfile: fieldnames = ['Ime', 'Vzdevek'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

writer.writeheader()
for junak in superheroj: writer.writerow(junak)
Učinkovito obdelovanje CSV-datotek s Pythonom

Datoteka superheroj.csv bo sedaj ustvarjena in bo vsebovala podatke o superjunakih v dobro strukturiranem, berljivem formatu.

Zaključek in praktična uporaba

CSV-datoteke so dragoceno orodje za izmenjavo podatkov, ki se v praksi pogosto potrebuje. Ta priročnik vam ponuja osnove za obdelavo CSV-datotek z Python. Naučili ste se, kako lahko berete podatke iz CSV-datotek, obdelujete te podatke v Pythonu in pišete svoje podatke v CSV-format.

Povzetek – Obdelava CSV-datotek z Python

CSV-datoteke so pomemben format za izmenjavo podatkov v mnogih aplikacijah. Z Python lahko učinkovito in enostavno delate s temi datotekami. Ko na začetku razumete osnove, lahko te tehnike enostavno uporabite v kompleksnih aplikacijah za podatke.

Pogosta vprašanja

Kako odprem CSV-datoteko v Pythonu?CSV-datoteko lahko odprete v Pythonu s pomočjo with open('ime_datoteke.csv', 'r'):

Kako lahko pišem podatke v CSV-datoteko?Za to uporabite objekt csv.writer ali csv.DictWriter, da formatirate podatke in jih zapišete v datoteko.

Kakšna je razlika med csv.reader in csv.DictReader?csv.reader bere podatke kot sezname, medtem ko csv.DictReader izpiše podatke kot slovarje s kategorijami kot ključi.

Kako lahko nastavim glavo v CSV-datoteki?Glava se lahko navede z writeheader() pri pisanju CSV-datoteke preko Writerja.

Kako preberem CSV-datoteko z lastnimi imeni polj?Predajte seznam želenih imen polj pri ustvarjanju csv.DictReader.