← Back to Python Course | Chapter 9: File Handling | Lesson 4 of 6

Python CSV Files

एक CSV file text के रूप में saved एक साधारी table है, जिसमें हर row एक line पर होती है और columns commas से अलग होते हैं, जैसे spreadsheet का सबसे सरल रूप। Python के csv tools इन्हें आसानी से पढ़ते और लिखते हैं।
Syntax
python
import csv

with open("file.csv", newline="") as file:
    for row in csv.reader(file):
        # row is a list

csv Module

CSV (Comma-Separated Values) tabular data के लिए एक plain-text format है, और Python का built-in csv module उन tricky edge cases (quoted fields के अंदर commas, escaped quotes) को संभालता है जो वास्तविक दुनिया की CSV files के लिए ',' पर manually split करने को अविश्वसनीय बनाते हैं।

उदाहरण: The csv Module

python
import csv
with open("data.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["name", "age"])
    writer.writerow(["Alex, Jr.", 30])  # comma inside the value is handled correctly
print("CSV module handles commas inside quoted fields")

CSV Files पढ़ना

csv.reader किसी खुली file को लपेटता है और हर row को string values की एक list के रूप में देता है, quoted fields को अपने आप सही तरह से संभालते हुए -- आप आमतौर पर file को एक बार में एक row process करने के लिए सीधे reader object पर loop करते हैं।

उदाहरण: Reading CSV Files

python
import csv
with open("data.csv", "w", newline="") as f:
    csv.writer(f).writerow(["Alex", "30"])
with open("data.csv", "r", newline="") as f:
    for row in csv.reader(f):  # each row comes back as a list of strings
        print(row)

CSV Files लिखना

csv.writer किसी खुली file (write mode में खुली) को लपेटता है और उसका .writerow() method commas या special characters वाले fields को आपके लिए सही तरह से quote कर देता है, ताकि आपको खुद कुछ भी manually escape न करना पड़े।

उदाहरण: Writing CSV Files

python
import csv
with open("data.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["name", "age"])  # header row
    writer.writerow(["Alex", 30])  # data row, values quoted/escaped automatically
with open("data.csv") as f:
    print(f.read())

DictReader और DictWriter

csv.DictReader plain list की बजाय हर row को column headers से keyed एक dictionary में बदल देता है, ताकि आप row[3] की बजाय row[email] लिख सकें -- DictWriter इसका उल्टा करता है, जिससे आप dictionaries से rows लिख सकते हैं।

उदाहरण: DictReader and DictWriter

python
import csv
with open("data.csv", "w", newline="") as f:
    writer = csv.DictWriter(f, fieldnames=["name", "email"])
    writer.writeheader()
    writer.writerow({"name": "Alex", "email": "[email protected]"})
with open("data.csv", newline="") as f:
    for row in csv.DictReader(f):  # each row comes back as a dict keyed by header
        print(row["email"])

Delimiters को Handle करना

हर 'CSV-जैसी' file वाकई commas इस्तेमाल नहीं करती -- कुछ tabs या semicolons इस्तेमाल करती हैं -- और csv.reader और csv.writer दोनों एक delimiter parameter स्वीकार करते हैं ताकि आपको custom parsing logic लिखे बिना उन variants को संभाला जा सके।

उदाहरण: Handling Delimiters

python
import csv
with open("data.csv", "w", newline="") as f:
    writer = csv.writer(f, delimiter=";")  # use ; instead of , as the separator
    writer.writerow(["name", "age"])
with open("data.csv", newline="") as f:
    for row in csv.reader(f, delimiter=";"):
        print(row)
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
🔒

Chapter Quiz — Complete all 6 topics to unlock

0/6 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.