Hogyan írjunk listát CSV-be Pythonban

Ha Python-listákkal küszködik, és azon töpreng, hogyan mentheti el azokat egy szép CSV-fájlként, akkor jó helyen jár. A Pythonban az egyik leggyakoribb feladat a lista írása egy vesszővel tagolt fájlba, és ma CSV-fájlvarázsló profivá teszünk!

Ha Pythonban szeretne listát írni CSV-fájlba, használhatja a beépített csv modult, amelyet kifejezetten CSV-fájlok olvasására és írására terveztek. A modul csv.writer osztálya funkciókat biztosít egyszerű és beágyazott listák CSV-fájlokba írásához.

Ugyanezt az eredményt érheti el a külső Pandas vagy NumPy modulok telepítése és használata.

Ez a cikk elmagyarázza a fogalmakat, és lépésről lépésre végigvezeti a folyamaton, az induláshoz szükséges kódpéldákkal.

Gyerünk!

Tartalomjegyzék

Mik azok a listák a Pythonban?

Hogyan írjunk listát CSV-be Pythonban

A Python-lista egy beépített adatstruktúra, amely több elem egyetlen változóban való tárolására szolgál.

A Python listák a következők:

  • rendelt (nullától kezdve).

  • változtatható (módosítható).

  • képes duplikált értékeket tárolni.

A listákat úgy határozzák meg, hogy az értékeket szögletes zárójelek [] közé helyezik, az elemeket pedig vessző választja el. A lista elemei bármilyen adattípusúak lehetnek, például számok, karakterláncok és akár egyéb listák is.

Íme egy példa egy egyszerű lista létrehozására:

products = [“t-shirts”, “hoodies”, “jeans”]

Listák listája Pythonban

A listák listáit beágyazott listáknak is nevezik . Ezek olyan listák, amelyek elemként más listákat tartalmaznak.

A Pythonban gyakran használják a strukturált adatok sorokban és oszlopokban történő megjelenítésére. Általában olyan forgatókönyvekben használatosak, amikor a kapcsolódó adatokat csoportosítani kell.

Íme egy példa egy olyan beágyazott lista létrehozására, amely bemutatja a termékeket, árakat és eladásokat.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

CSV-fájlok és a CSV-modul a Pythonban

A CSV-fájlok táblázatos adatokat jelenítenek meg egyszerű fájlformátumban. A fájl minden sora megfelel a táblázat egy sorának. A sorban (vagy sorban) minden érték vesszővel van elválasztva – ezért a formátum neve „Vesszővel tagolt értékek”.

Így nézhet ki a termékeket, árakat és eladásokat bemutató fájl CSV formátumban:

  • pólók, 9,99, 342

  • pulóver, 24,99, 118

  • farmer, 29,99, 612

Hogyan írjunk listát CSV-be Pythonban

A csv modul egy beépített Python modul, amely eszközöket biztosít az adatok CSV formátumban történő olvasásához és írásához. Egyszerűsége és hatékonysága miatt különösen hasznos.

A csv modul importálásával hozzáférhet a csv.writer() osztályhoz, amely lehetővé teszi olyan író objektum létrehozását, amely egy fájlobjektumhoz elválasztott karakterláncot írhat.

Rendben, most, hogy áttekintettük az alapokat, a következő részben nézzük meg, hogyan írhat egyszerű listát CSV-fájlba Python használatával.

Hogyan írjunk egyszerű listát CSV-fájlba Pythonban

Az első megtanulandó technika egy egyszerű (nem beágyazott) listafájl, amely így néz ki:

  • pólók

  • pulcsikat

  • Farmer

Hogyan írjunk listát CSV-be Pythonban

A lista CSV-fájlba írásának lépései a következők:

  1. Importálja a csv modult.

  2. Hozzon létre egy Python listát.

  3. Nyisson meg egy CSV-fájlt írási módban.

  4. Használja a csv író objektum writerow() függvényét .

  5. Mentse és zárja be a CSV-fájlt.

A writerow() függvény több sort, azaz minden adatot ír a fájlba. Íme a kód részletes megjegyzésekkel.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a 
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

Környezetkezelők használata

Ha nem ismeri a fájlokkal való munkavégzés „val” módszerét, ez egy olyan technika, amely környezetkezelőt használ, amely kezeli a fájlerőforrásokat.

Ha például CSV-fájlok írásához használja, a fájlok automatikusan bezáródnak, amikor a with utasítás véget ér.

Hogyan írjunk listát CSV-fájlba

Listák esetén minden belső listának egy CSV-sornak kell lennie a fájlban. Így fognak kinézni a CSV-adatok:

Hogyan írjunk listát CSV-be Pythonban

Az általános lépések hasonlóak az előző szakaszhoz, azzal a különbséggel, hogy a writerow() helyett a writerows() függvényt használjuk .

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

Ebben a második példában minden belső lista külön sorként van írva a fájlban.

Ne feledje, hogy a csv modul lehetővé teszi, hogy ne kelljen az adatstruktúrán keresztül vagy az adatstruktúrán keresztül sorra írni.

Ezután megvizsgáljuk, hogyan fűzhet adatokat a meglévő CSV-fájlokhoz.

Adatok hozzáfűzése a meglévő CSV-fájlokhoz

Hogyan írjunk listát CSV-be Pythonban

Ha adatokat szeretne hozzáadni egy meglévő CSV-fájlhoz, kövesse az alábbi lépéseket:

  1. Importálja a csv modult.

  2. Nyissa meg a CSV-fájlt hozzáfűzési módban ('a') az open() környezetkezelővel.

  3. Hozzon létre egy új listát a hozzáfűzendő adatokkal.

  4. Hozzon létre egy csv.writer() objektumot a megnyitott fájl átadásával.

  5. A csv.writer() objektum segítségével írja be az új listát a CSV-fájlba.

Íme egy példa arra, hogy az írás egy beágyazott listát (egy sort) ad hozzá egy meglévő fájlhoz:

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

Ügyeljen arra, hogy a fájl megnyitásakor szerepeljen a newline=”, hogy biztosítsa a CSV-fájl megfelelő formázását a különböző platformokon.

A következő részben bemutatjuk, hogyan használhatja a DictWriter osztályt CSV-fájlok írására.

A DictWriter használata CSV-fájlokba íráshoz

Hogyan írjunk listát CSV-be Pythonban

Eddig megtanultuk, hogyan írjunk listákat CSV-fájlokba. A Pythonnak azonban más adatstruktúrái is vannak, amelyek CSV-fájlba is írhatók.

A DictWriter() osztály szintén a csv modul része . Hasonló a writer() osztályhoz, de szótári adatokat kezel.

Íme egy példa:

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

Fejlett CSV-technikák Pythonban

A Python-listák CSV-fájlként való exportálására nem a csv- modul használata az egyetlen módszer.

Két népszerű könyvtár, amely funkcionalitást biztosít ehhez a feladathoz, a Pandas és a NumPy .

1. Hogyan exportáljunk adatokat pandákkal

Hogyan írjunk listát CSV-be Pythonban

A Pandas egy széles körben használt Python-könyvtár adatkezelésre és -elemzésre.

A Python-listák CSV-fájlként való mentéséhez létrehozhat egy pandas DataFrame-et a listából, majd használhatja a to_csv() metódust az alábbiak szerint:

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

Ha az adatok nem ASCII karaktereket tartalmaznak, előfordulhat, hogy a kódolási paramétert megfelelő értékre kell állítania, például „utf-8”.

2. A NumPy használata listák CSV-fájlba mentéséhez

Egy másik könyvtár, amelyet érdemes megfontolni, az, amely támogatja a tömbök és mátrixok kezelését.

A NumPy az np.savetxt() függvényt kínálja kényelmes módszerként az adatok CSV-fájlba mentésére.

Íme egy példa, amely bemutatja, hogyan menthet listát CSV-fájlba a NumPy használatával:

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

Íme a savetxt() paraméterek lebontása :

  • határoló: megadja a mezőelválasztót

  • fmt paraméter: jelzi a mentett adatok formátumát

  • %s: a karakterláncértékek helyőrzője

  • fejléc : az oszlopfejlécek listája

  • megjegyzések: szabályozza a kimeneti fájlban a megjegyzéseket kezdő karaktereket.

Hogyan tisztítsuk meg az adatokat a fájlba írás előtt

Érdemes megtisztítani az adatokat, mielőtt szöveges fájlba írná azokat. Ez a videó bemutatja a szükséges technikákat:

Végső gondolatok

Lista írása CSV-fájlba Pythonban az adatok tárolásának és megosztásának egyszerű és hatékony módja. Megtanulta, hogyan kell a Python beépített csv- modulját használni ennek a feladatnak a végrehajtására.

Most már ismeri a Python-lista létrehozását, a csv- modul importálását, a CSV-fájl megnyitását, és a csv.writer használatával a lista CSV-fájlba írásához.

Megtanulta továbbá a listák CSV-fájlba írásának bonyolultabb forgatókönyveit, amelyek lehetővé teszik táblázatos adatok tárolását.

Ne felejtsd el, mint minden programozásban, a gyakorlat teszi a mestert. Tehát vegye ezt az újonnan megszerzett tudást, játsszon vele, és nézze meg, hogyan működik a különböző adatkészletekkel és projektigényekkel.

Ez csak a Python jéghegy csúcsa. A Python hatalmas világában még rengeteg felfedeznivaló van, ezért ne álljon meg itt. De mára veregesd meg magad. Sikeresen megszelídítette a listákból CSV-be konvertálás vadállatát!


Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.

Gyakori SQL-függvények: Áttekintés

Gyakori SQL-függvények: Áttekintés

Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.

LuckyTemplates sablonok létrehozása: útmutató és tippek

LuckyTemplates sablonok létrehozása: útmutató és tippek

Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.

LuckyTemplates rangsor és egyéni csoportosítás

LuckyTemplates rangsor és egyéni csoportosítás

Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.