Cum să citești și să scrii fișiere CSV cu pandas
In this tutorial, you'll learn about Cum să citești și să scrii fișiere CSV cu pandas. We cover key concepts, practical examples, and best practices.
pandas oferă funcțiile read_csv și to_csv pentru importul și exportul rapid al datelor tabelare din fișiere CSV, cu suport pentru delimiteri, encoding și opțiuni avansate.
The Problem
Fișierele CSV din lumea reală vin cu delimiteri diferiți, encoding-uri neașteptate, anteturi lipsă, ghilimele și valori nule. O citire naivă produce DataFrame-uri corupte sau aruncă erori greu de înțeles.
The Wrong Way
import pandas as pd
df = pd.read_csv("date.csv")
print(df.head())
Problemă: read_csv() folosește valori implicite (virgulă, UTF-8, prima linie ca header). Dacă fișierul are delimiter ;, encoding latin1 sau nu are antet, rezultatul va fi incorect.
The Right Way
import pandas as pd
# Citește cu parametri expliciți
df = pd.read_csv(
"date.csv",
sep=";",
encoding="utf-8",
header=0,
na_values=["", "NA", "null"],
parse_dates=["data"],
dtype={"id": int, "pret": float}
)
print(df.info())
print(df.head())
Output:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns:
id 1000 non-null int64
nume 998 non-null object
pret 1000 non-null float64
data 1000 non-null datetime64[ns]
Step-by-Step Fix
1. Inspectează fișierul înainte de citire
head -3 date.csv
# vezi delimiterul, header-ul, encoding-ul
2. Alege parametrii corecți pentru read_csv
df = pd.read_csv("vanzari.csv", sep=",", decimal=".", thousands=",")
3. Scrie fișierul cu to_csv
df.to_csv("export.csv", index=False, sep=",", encoding="utf-8-sig")
Prevention Tips
- Specifică
dtypepentru coloane numerice — previne conversia automată greșită - Folosește
encoding="utf-8-sig"la export pentru compatibilitate cu Excel - Setează
na_valuespentru a trata corect valorile lipsă
Common Mistakes
sepimplicit (virgulă) dar fișierul e cu;— totul într-o coloanăheader=0implicit dar fișierul nu are antet — prima linie devine header- Fără
dtype— coloane numerice cu NaN devin float în loc de int - Ignorarea encoding-ului —
UnicodeDecodeErrorpentru fișiere Windows index=Truela export — salvează și indexul pandas în fișier
FAQ
Construit de dezvoltătorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează perfect cu pandas pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro