DataFrame.to_csv() în pandas

Salvează un DataFrame într-un fișier CSV sau, fără cale, returnează textul CSV ca șir.

Sintaxă
df.to_csv(cale=None, *, sep=',', na_rep='', columns=None, header=True, index=True, encoding=None, decimal='.', ...)

Ce face DataFrame.to_csv()

to_csv scrie tabelul în format CSV: un rând de antet cu numele coloanelor, apoi câte un rând pentru fiecare înregistrare. Implicit scrie și indexul ca primă coloană; de cele mai multe ori nu vrei asta, așa că dai index=False.

Dacă nu dai o cale, metoda nu scrie niciun fișier, ci returnează textul CSV ca str. E util ca să vezi rapid ce ar ajunge în fișier.

Pentru Excel cu setări românești, folosește sep=";", decimal="," și encoding="utf-8-sig": semnătura de la începutul fișierului (BOM) îl ajută pe Excel să afișeze corect diacriticele.

Parametri

Parametru Descriere
path_or_buf Calea fișierului sau un obiect de tip fișier. Dacă lipsește, metoda returnează textul.
sep Separatorul dintre valori. Implicit ",".
index Dacă scrie indexul ca primă coloană. Implicit True.
header Dacă scrie rândul cu numele coloanelor (sau o listă cu alte nume).
columns Doar aceste coloane, în această ordine.
na_rep Textul scris în locul valorilor lipsă. Implicit gol.
encoding Codificarea fișierului. Implicit "utf-8".
decimal Caracterul pentru zecimale.

Ce returnează

None când scrie într-un fișier; textul CSV (str) când nu dai cale.

Exemple

Exemplul 1: Salvare fără index

Cu index=False, fișierul conține doar coloanele tabelului. Exemplul citește fișierul înapoi ca text, ca să vezi exact ce s-a scris.

import pandas as pd

df = pd.DataFrame({
    "nume": ["Ana", "Mihai", "Ioana"],
    "oraș": ["Iași", "Cluj", "Brașov"],
    "nota": [9.5, 8.0, 10.0],
})
df.to_csv("note.csv", index=False)

with open("note.csv", encoding="utf-8") as f:
    print(f.read())

Rezultat

nume,oraș,nota
Ana,Iași,9.5
Mihai,Cluj,8.0
Ioana,Brașov,10.0

Exemplul 2: Fără cale: textul CSV

Fără cale, to_csv returnează un șir. Prima variantă păstrează indexul (coloana fără nume de la început), a doua nu.

import pandas as pd

df = pd.DataFrame({"produs": ["pâine", "lapte"], "preț": [4.5, 7.0]})
print(df.to_csv())
print(df.to_csv(index=False))

Rezultat

,produs,preț
0,pâine,4.5
1,lapte,7.0

produs,preț
pâine,4.5
lapte,7.0

Exemplul 3: CSV pentru Excel românesc

Separator ;, virgulă la zecimale și BOM UTF-8. Primii trei octeți ai fișierului sunt semnătura utf-8-sig.

import pandas as pd

df = pd.DataFrame({"oraș": ["Iași", "Timișoara"], "vânzări": [1200.5, 980.25]})
df.to_csv("vanzari.csv", sep=";", decimal=",", encoding="utf-8-sig", index=False)

with open("vanzari.csv", "rb") as f:
    continut = f.read()
print(continut[:3])
print(continut[3:].decode("utf-8"))

Rezultat

b'\xef\xbb\xbf'
oraș;vânzări
Iași;1200,5
Timișoara;980,25

Greșeli frecvente

  • Uiți index=False: la recitire apare o coloană în plus, Unnamed: 0, cu numerele vechi ale rândurilor.
  • Deschizi în Excel un CSV cu diacritice scris cu UTF-8 simplu și vezi caractere stricate. Salvează cu encoding="utf-8-sig".
  • Scrii print(df.to_csv("fisier.csv")) și vezi None: când dai o cale, metoda scrie fișierul și nu returnează textul.

Comenzi înrudite

  • pd.read_csv(): Citește un fișier CSV (valori separate prin virgulă sau alt separator) într-un DataFrame.
  • pd.read_excel() / DataFrame.to_excel(): Citește foi de calcul Excel (.xlsx) într-un DataFrame și salvează un DataFrame în Excel. Pentru .xlsx are nevoie de openpyxl.
  • pd.read_json() / DataFrame.to_json(): Citește date JSON într-un DataFrame și transformă un DataFrame în JSON, de exemplu ca listă de obiecte cu orient=”records”.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: DataFrame.to_csv()

Ai o nelămurire despre utilizarea comenzii DataFrame.to_csv() sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.