Python में CSV-फ़ाइलों के साथ काम करना
CSV (Comma Separated Values) टेबुलर डेटा स्टोर करने का सबसे लोकप्रिय फ़ॉर्मेट है। इसका उपयोग Excel टेबल एक्सपोर्ट करने से लेकर वेब सर्विसेज और डेटाबेस के बीच डेटा शेयर करने तक हर जगह होता है।
Python CSV फ़ाइलों के साथ काम करने के लिए बेहतरीन टूल्स प्रदान करता है। आप बेसिक csv मॉड्यूल या डेटा एनालिसिस के लिए पावरफुल pandas लाइब्रेरी का उपयोग कर सकते हैं। इस आर्टिकल में हम CSV फ़ाइलों को पढ़ने, लिखने, डेटा प्रोसेस करने, एरर से बचने और बड़ी फ़ाइलों के साथ परफॉरमेंस ऑप्टिमाइज़ करने के तरीके कवर करेंगे।
CSV फ़ॉर्मेट की बुनियादी बातें
CSV-फ़ाइल की संरचना
CSV एक सिंपल टेक्स्ट फ़ॉर्मेट है। फ़ाइल की हर लाइन में एक अलग रिकॉर्ड होता है। रिकॉर्ड में वैल्यू को खास कैरेक्टर से अलग किया जाता है। डिफ़ॉल्ट रूप से कॉमा का उपयोग होता है, लेकिन सेमीकोलन, टैब या वर्टिकल बार का भी इस्तेमाल किया जा सकता है।
एक स्टैंडर्ड CSV-फ़ाइल की सामग्री कुछ इस तरह दिखती है:
नाम,उम्र,शहर
अंकिता,25,दिल्ली
रोहित,30,मुंबई
CSV फ़ॉर्मेट के फायदे
CSV फ़ॉर्मेट के कई महत्वपूर्ण फायदे हैं:
- सरल संरचना और पढ़ने में आसानी
- ज़्यादातर प्रोग्राम और प्रोग्रामिंग भाषाओं में सपोर्ट
- दूसरे फ़ॉर्मेट की तुलना में छोटा फ़ाइल साइज़
- टेक्स्ट एडिटर में एडिट करने की सुविधा
- अलग-अलग सिस्टम के बीच डेटा एक्सचेंज के लिए यूनिवर्सल
csv मॉड्यूल के साथ CSV में काम करना
CSV-फ़ाइलें पढ़ने की बुनियादी बातें
Python का स्टैंडर्ड csv मॉड्यूल CSV-फ़ाइलों के बेसिक ऑपरेशन के लिए काफी है। सिंपल रीडिंग के लिए यह तरीका अपनाएं:
import csv
with open("data.csv", newline='', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
आउटपुट:
['नाम', 'उम्र', 'शहर']
['अंकिता', '25', 'दिल्ली']
['रोहित', '30', 'मुंबई']
हेडर के साथ पढ़ना
नाम वाले कॉलम के साथ आसानी से काम करने के लिए csv.DictReader का उपयोग करें:
with open("data.csv", encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
print(row["नाम"], row["शहर"])
यह तरीका हर लाइन के लिए ऑटोमैटिकली डिक्शनरी बनाता है। कीज़ फ़ाइल की पहली लाइन से ली जाती हैं।
CSV-फ़ाइल में डेटा लिखना
सिंपल लाइन लिखना
डेटा लिखने का बेसिक तरीका csv.writer का उपयोग करना है:
with open("output.csv", mode='w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(["नाम", "उम्र"])
writer.writerow(["सुरेश", 35])
डिक्शनरी डेटा लिखना
स्ट्रक्चर्ड डेटा लिखने के लिए csv.DictWriter का उपयोग करें:
data = [
{"नाम": "प्रिया", "उम्र": 28},
{"नाम": "विकास", "उम्र": 40},
]
with open("people.csv", "w", newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=["नाम", "उम्र"])
writer.writeheader()
writer.writerows(data)
पढ़ने और लिखने के पैरामीटर सेट करना
csv मॉड्यूल में कई पैरामीटर कस्टमाइज़ किए जा सकते हैं:
- delimiter: फील्ड सेपरेटर सेट करना
- quotechar: वैल्यू को कोट्स में रखने का कैरेक्टर
- skipinitialspace: सेपरेटर के बाद स्पेस को इग्नोर करना
- lineterminator: लाइन खत्म करने का कैरेक्टर
pandas लाइब्रेरी में CSV के साथ काम करना
pandas इंस्टॉल और इंपोर्ट करना
pandas लाइब्रेरी CSV-फ़ाइलों के साथ काम करने के लिए ज़्यादा पावरफुल फीचर्स देती है:
pip install pandas
pandas में CSV-फ़ाइलें पढ़ना
CSV-फ़ाइलें पढ़ने का मुख्य तरीका:
import pandas as pd
df = pd.read_csv("data.csv")
print(df.head())
यह तरीका डेटा को DataFrame में लोड करता है, जिससे डेटा एनालिसिस और मैनिपुलेशन बहुत आसान हो जाता है।