CSV File in Python
- CSV stands for Comma Separated Values.
- It is used to store tabular data (rows and columns).
- Data values are separated by commas (,).
- CSV files usually have .csv extension.
- Commonly used in Excel, databases, and data exchange.
Example of CSV file-
RollNo,Name,Marks
101,Aman,85
102,Riya,90
103,Rahul,78
CSV Module in Python
- Python provides a built-in csv module.
- Used to read and write CSV files.
Import CSV Module:
import csv
Reading CSV File
(a) Using csv.reader()
- Reads data row by row.
- Returns data as a list.
Syntax-
csv.reader(file_object)
Example-
import csv
f=open("student.csv","r")
data=csv.reader(f)
for row in data:
print(row)
f.close()
Writing CSV File
Using csv.writer()
- Used to write data into CSV file.
Syntax-
csv.writer(file_object)
Example-
import csv
f=open("student.csv","w",newline='')
w=csv.writer(f)
w.writerow(["RollNo","Name","Marks"])
w.writerow([101,"Aman",85])
f.close()
writerow() Method
- Writes one row at a time.
Syntax-
w.writerow(["Name","City"])
Example-
writerows() Method
- Writes multiple rows together.
rows=[
["Aman","Delhi"],
["Riya","Mumbai"]
]
w.writerows(rows)
Reading CSV using DictReader()
- Reads data as a dictionary.
- First row becomes field names (keys).
import csv
f=open("student.csv","r")
d=csv.DictReader(f)
for row in d:
print(row)
f.close()
Writing CSV using DictWriter()
- Writes dictionary data into CSV file.
import csv
f=open("student.csv","w",newline='')
fields=["Name","Marks"]
w=csv.DictWriter(f,fieldnames=fields)
w.writeheader()
w.writerow({"Name":"Aman","Marks":85})
f.close()
Important Functions / Methods
| Function | Purpose |
|---|---|
csv.reader() |
Reads CSV file |
csv.writer() |
Writes CSV file |
writerow() |
Writes single row |
writerows() |
Writes multiple rows |
DictReader() |
Reads CSV as dictionary |
DictWriter() |
Writes dictionary data |
writeheader() |
Writes heading row |
Advantages of CSV File
- Easy to create and use.
- Human readable format.
- Supported by Excel and databases.
- Fast data storage and transfer
Disadvantages of CSV File
- No data security.
- Cannot store complex data.
- No formatting support.
Program 1: Write Data into CSV File
import csv
f=open("emp.csv","w",newline='')
w=csv.writer(f)
w.writerow(["EmpID","Name","Salary"])
w.writerow([101,"Aman",25000])
f.close()
Program 2: Read Data from CSV File.
import csv
f=open("emp.csv","r")
r=csv.reader(f)
for i in r:
print(i)
f.close()
Program 3: Write Multiple Records.
import csv
f=open("student.csv","w",newline='')
w=csv.writer(f)
data=[
["Roll","Name","Marks"],
[1,"Aman",80],
[2,"Riya",90]
]
w.writerows(data)
f.close()
Program 4: Search Record in CSV File.
import csv
f=open("student.csv","r")
r=csv.reader(f)
name=input("Enter name: ")
for i in r:
if name in i:
print(i)
f.close()
