Pandas to_csv() – DataFrame konvertálása CSV-be

Pandas to_csv() – DataFrame konvertálása CSV-be

Bevezetés

A CSV (Comma-Separated Values) fájlformátum egy egyszerű, szövegalapú formátum, amelyet gyakran használnak adatok tárolására és cseréjére. A Python Pandas könyvtárában a to_csv() metódus lehetővé teszi a DataFrame objektumok hatékony konvertálását CSV fájlokká. Ez az útmutató részletesen bemutatja a to_csv() metódus használatát, beleértve a különféle paramétereket és opciókat.

A to_csv() metódus használata

A to_csv() metódus szintaxisa a következő:


DataFrame.to_csv(path_or_buf, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression=None, quoting=None, quotechar='"', line_terminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.', errors='strict')

Parameters:

* path_or_buf: A kimeneti CSV fájl elérési útja vagy pufferobjektum.
* sep: Az értékek közötti elválasztó karakter. Az alapértelmezett érték a vessző (,).
* na_rep: Az NaN értékek megjelenítésére szolgáló helyettesítő karakterlánc. Az alapértelmezett érték az üres karakterlánc (”).
* float_format: A lebegőpontos számok formázásához használt formázási karakterlánc. Az alapértelmezett érték a None, amely a beállított decimális formátumot használja.
* columns: A CSV fájlba írandó oszlopok listája. Az alapértelmezett érték a DataFrame összes oszlopa.
* header: A CSV fájlba bele kell-e foglalni az oszlopfejléceket. Az alapértelmezett érték a True.
* index: A CSV fájlba bele kell-e foglalni az indexet. Az alapértelmezett érték a True.
* index_label: Az index oszlop fejléce. Az alapértelmezett érték a None, amely a DataFrame index nevét használja.
* mode: A fájl megnyitási módja. Az alapértelmezett érték a 'w', amely felülírja a fájlt, ha az már létezik.
* encoding: A karakterkódolás, amelyet a fájl írásához kell használni. Az alapértelmezett érték a None, amely a rendszer alapértelmezett kódolását használja.
* compression: A fájl tömörítéséhez használt tömörítési módszer. Az alapértelmezett érték a None, amely nem tömöríti a fájlt.
* quoting: Az értékek idézőjelbe tételének módja. Az alapértelmezett érték a None, amely nem idéz jelet.
* quotechar: Az idézőjelként használt karakter. Az alapértelmezett érték a dupla idézőjel („).
* line_terminator: A sorok lezárásához használt karakterlánc. Az alapértelmezett érték a rendszer alapértelmezett sorleállítási karaktere.
* chunksize: A CSV fájl írásához használt blokkméret. Az alapértelmezett érték a None, amely az egész DataFrame-et egy blokkban írja.
* date_format: A dátumok formázásához használt formázási karakterlánc. Az alapértelmezett érték a None, amely az ISO 8601 formátumot használja.
* doublequote: Duplán idézzen meg minden idézőjelet a CSV fájlban. Az alapértelmezett érték a True.
* escapechar: Az idézőjelek escape-eléséhez használt karakter. Az alapértelmezett érték a None, ami nem escape karaktert jelent.
* decimal: A decimális elválasztó karakter. Az alapértelmezett érték a pont (.).
* errors: Hogyan kell kezelni a kódolási hibákat. Az alapértelmezett érték a 'strict', amely kivételt generál, ha kódolási hiba lép fel.

  A csomagvesztés-teszt egyszerű ezzel a 6 eszközzel

Példa

Az alábbi kód egy DataFrame-et konvertál CSV fájlba:

python
import pandas as pd

df = pd.DataFrame({
'name': ['John', 'Mary', 'Bob'],
'age': [20, 30, 40]
})

df.to_csv('output.csv')

Ez a kód a 'output.csv' nevű CSV fájlt hozza létre a következő tartalommal:


name,age
John,20
Mary,30
Bob,40

A to_csv() metódus további lehetőségei

Hivatkozás egy másik DataFrame-re:

A to_csv() metódus hivatkozhat egy másik DataFrame-re az append paraméter használatával. Ez lehetővé teszi több DataFrame összefűzését egyetlen CSV fájlban:

python
df1 = pd.DataFrame({
'name': ['John', 'Mary', 'Bob'],
'age': [20, 30, 40]
})

df2 = pd.DataFrame({
'city': ['New York', 'London', 'Paris'],
'country': ['USA', 'UK', 'France']
})

df1.to_csv('output.csv', mode='a')
df2.to_csv('output.csv', mode='a', header=False)

Ez a kód a 'output.csv' nevű CSV fájlt hozza létre a következő tartalommal:


name,age
John,20
Mary,30
Bob,40
city,country
New York,USA
London,UK
Paris,France

JSONL fájl létrehozása:

A to_csv() metódus JSONL (JavaScript Object Notation with Line Delimiters) fájlt is hozhat létre a json paraméter használatával:

python
df.to_csv('output.jsonl', index=False, json=True)

Ez a kód a 'output.jsonl' nevű JSONL fájlt hozza létre a következő tartalommal:


{"name": "John", "age": 20}
{"name": "Mary", "age": 30}
{"name": "Bob", "age": 40}

Következtetés

A Pandas to_csv() metódus egy sokoldalú eszköz a DataFrame objektumok CSV fájlokba való konvertálásához. A különböző paraméterek és opciók lehetővé teszik a CSV fájlok alakjának és tartalmának testreszabását, hogy megfeleljenek a különböző igényeknek. Ezenkívül a to_csv() metódus további funkciókat kínál, mint például a másik DataFrame-ekre való hivatkozás és JSONL fájlok létrehozása, ami növeli annak hasznosságát az adatok kezelésében.

Gyakran ismételt kérdések (GYIK)

1. Mi a különbség a to_csv() és a to_excel() metódusok között?
– A to_csv() metódus CSV fájlok létrehozására szolgál, míg a to_excel() metódus Excel fájlok létrehozására szolgál.

2. Hogyan lehet olyan CSV fájlt létrehozni, amely nem tartalmaz fejléceket?
– Állítsa a header paramétert False értékre a to_csv() metódus hívásakor.

3. Hogyan lehet egy CSV fájlba csak bizonyos oszlopokat írni?
– Adjon meg egy oszlopok listáját a columns paraméterben a to_csv() metódus hívásakor.

4. Hogyan lehet egy CSV fájlt tömöríteni?
– Állítsa be a compression paramétert a to_csv() metódus hívásakor a kívánt tömörítési módszerre.

5. Hogyan lehet a dátumokat egy adott formátumban formázni a CSV fájlban?
– Állítsa be a date_format paramétert a to_csv() metódus hívásakor