csv — read and write CSV files.
1import csv23# Reading CSV4with open("data.csv", newline="") as f:5 reader = csv.reader(f)6 header = next(reader) # Skip header7 for row in reader:8 print(row) # ['Alice', '30', 'alice@example.com']910# DictReader - access by column name11with open("data.csv", newline="") as f:12 reader = csv.DictReader(f)13 for row in reader:14 print(row["name"], row["age"]) # Alice 301516# Writing CSV17with open("output.csv", "w", newline="") as f:18 writer = csv.writer(f)19 writer.writerow(["name", "age", "email"])20 writer.writerows([21 ["Alice", 30, "alice@example.com"],22 ["Bob", 25, "bob@example.com"],23 ])2425# DictWriter - write by column name26with open("output.csv", "w", newline="") as f:27 writer = csv.DictWriter(f, fieldnames=["name", "age"])28 writer.writeheader()29 writer.writerow({"name": "Alice", "age": 30})
Best practices: