A CSV-fájlok (Vesszővel Elválasztott Értékek) használata a programozásban gyakori feladat, amely számos gyakorlati alkalmazásban megjelenik. Akár API-któl kérdezel le adatokat, akár készletet kezelsz — a CSV-fájlok olvasásának és írásának lehetősége elengedhetetlen. Ebben a útmutatóban megtanulod, hogyan dolgozhatsz hatékonyan a Python segítségével a CSV-fájlokkal. Megvizsgáljuk a CSV-fájlok létrehozását, az adatok olvasását és ezen adatok manipulálását.
Legfontosabb megállapítások
- Modul áttekintés: A Python beépített CSV-modult kínál, amely CSV-olvasót és -írókészletet biztosít.
- Adatszerkezet: Használhatsz listákat és szótárakat az adatok tárolására és feldolgozására.
- Hatékony I/O kezelés: Használd a with open(...) parancsot a fájlhozzáférés kezelésére, hogy ne kelljen aggódnod a fájlok bezárása miatt.
Lépésről lépésre útmutató
Direktórium létrehozása és CSV-fájl létrehozása
Kezdésként hozz létre egy üres direktóriumot. Ebben a direktóriumban létre kell hoznod egy fájlt csvdateien.py néven. Ez a fájl lesz a főszkripted a CSV-fájlokkal való munkához.

A Python-fájlodban létrehozhatod a CSV-fájlt a produkte.csv név használatával. Ebben a fájlban meg kell határoznod a hasábokat a Termék ID, Név, Ár és Készlet megfelelő neveivel.

A CSV-fájl például így nézhet ki:
Termék ID,Név,Ár,Készlet 1,iPad,399,50 2,Nerfgun,29.99,100
CSV-fájl olvasása
A produkte.csv fájl adatait a CSV-modul segítségével olvashatod el. A modul lehetővé teszi, hogy hatékonyan dolgozz a CSV-adatokkal. Az adatokat olvasható formátumba alakíthatod a with open(...) használatával. Ez megakadályozza a fájlobjektumok manuális lezárását, és tisztábbá, biztonságosabbá teszi a kódodat.
A következő lépésben létrehozol egy CSV-olvasót. Ezzel a fájlt soronként át tudod nézni, és ki tudod extrahálni az adatokat:
with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Itt minden sort listaként olvasunk ki, ami megmutatja, hogy az adatok a várakozásoknak megfelelően vannak struktúrálva. Minden sor egy terméknek felel meg, és információkat tartalmaz az ID-ról, névről, árról és készletről.
Szótárak használata intuitívabb adatfeldolgozáshoz
Az adatok egyszerűbb és intuitívabb kezeléséhez érdemes a szótár formátumot használni. Szótár-olvasóval könnyebben hozzáférhetsz az adataidhoz a mezőnevek segítségével.

Itt is használnod kell a with open(...)-t, hogy megnyisd a fájlt és létrehozd a CSV-olvasót. Győződj meg arról, hogy megadsz egy listát azokról a mezőkről, amelyeket ki szeretnél olvasni:

Mostantól egyszerűen hozzáférhetsz a mezőkhöz a nevük alapján. Ez sokkal hozzáférhetőbbé teszi a feldolgozást.
CSV-fájl írása
Saját adatok CSV-fájlba írásához szótár író objektumot használhatsz. Lehetőséged van egy szótárak listájának létrehozására, amelyek a te adataidat képviselik.

Itt van egy egyszerű példa arra, hogyan menthetsz el egy szuperhős lista CSV-fájlként:
with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Név', 'Álnév'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

A superhelden.csv fájl most létrejön, és tartalmazza a szuperhősök adatait jól strukturált, olvasható formátumban.
Befejezés és gyakorlati alkalmazás
A CSV-fájlok értékes eszköz a adatcserére, amely a gyakorlatban gyakran szükséges. Ez az útmutató megadja neked az alapokat a CSV-fájlok Python segítségével történő feldolgozásához. Megtanultad, hogyan olvashatsz adatokat CSV-fájlból, hogyan dolgozhatod fel azokat Pythonban, és hogyan írhatod saját adataidat a CSV-formátumba.
Összegzés – CSV-fájlok feldolgozása Pythonnal
A CSV-fájlok fontos formátum az adatcserére számos alkalmazásban. A Python segítségével hatékonyan és egyszerűen dolgozhatsz ezekkel a fájlokkal. Ha egyszer megérted az alapokat, a technikákat könnyen alkalmazhatod összetett adatalkalmazásokra is.
Gyakran Ismételt Kérdések
Hogyan nyithatok meg egy CSV-fájlt Pythonban?CSV-fájlt Pythonban a with open('fájlnév.csv', 'r'): parancs segítségével nyithatsz meg.
Hogyan írhatok adatokat egy CSV-fájlba?Ehhez használhatod a csv.writer vagy csv.DictWriter objektumot az adatok konfigurálására és a fájlba történő írásra.
Mi a különbség a csv.reader és a csv.DictReader között?A csv.reader listaformátumban olvassa az adatokat, míg a csv.DictReader szótár formájában adja vissza az adatokat mezőnevekkel kulcsként.
Hogyan állíthatom be a fejlécet egy CSV-fájlban?A fejlécet writeheader() segítségével adhatod meg, amikor CSV-fájlt írsz a Writer-en keresztül.
Hogyan olvashatok el egy CSV-fájlt egyedi mezőnevekkel?Adj meg egy listát a kívánt mezőnevekkel a csv.DictReader létrehozásakor.