Working with CSV Files
CSV (Comma-Separated Values) files store tabular data.
Reading CSV
import csv # Read CSV file with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row) # Read as dictionaries with open('data.csv', 'r') as file: reader = csv.DictReader(file) for row in reader: print(row['name'], row['age'])
Writing CSV
import csv # Write rows with open('output.csv', 'w', newline='') as file: writer = csv.writer(file) writer.writerow(['Name', 'Age', 'City']) writer.writerow(['Alice', 25, 'NYC']) writer.writerow(['Bob', 30, 'LA']) # Write from dictionaries data = [ {'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30} ] with open('output.csv', 'w', newline='') as file: fieldnames = ['name', 'age'] writer = csv.DictWriter(file, fieldnames=fieldnames) writer.writeheader() writer.writerows(data)
Custom Delimiters
# Tab-separated values with open('data.tsv', 'r') as file: reader = csv.reader(file, delimiter='\t') # Semicolon-separated with open('data.csv', 'r') as file: reader = csv.reader(file, delimiter=';')
Practice Exercises
- Read CSV and calculate statistics
- Write data to CSV from list
- Filter CSV data
- Merge multiple CSV files
- Convert CSV to JSON
Next Lesson: JSON Files