CSV फ़ाइलों को पायथन में कैसे पार्स करें
AI द्वारा जनरेट किया गया सारांश:
डेटा पार्सिंग को स्वचालित रूप से जानकारी एकत्र करने और प्रोसेस करने के रूप में परिभाषित किया जाता है, जिसे अक्सर CSV फ़ाइलों के मामले में उपयोग किया जाता है। यहां पार्सिंग का अर्थ है CSV फ़ाइलों को पंक्तियों, स्तंभों और मानों में विभाजित करना। ऐसा करने से डेटा का विश्लेषण, फ़िल्टरिंग और आगे के काम के लिए आसानी से निकाला जा सकता है। इस लेख में, हम बताएंगे कि पायथन का उपयोग करके CSV फ़ाइलों को कैसे पढ़ा जाता है। इसके अलावा, हम दिखाएंगे कि पायथन में किसी CSV फ़ाइल से डेटा को कैसे पार्स किया जाता है।
CSV फ़ाइल क्या है?
CSV, या (Comma Separated Values), एक फ़ाइल प्रारूप है जो डेटा को इस तरह से संग्रहीत करता है कि इसमें मानों को अल्पविराम और नई पंक्ति शिफ्ट द्वारा अलग किया जाता है। इस कारण से, CSV प्रारूप को विभिन्न संदर्भों में उपयोग किया जा सकता है, जैसे कि Excel में डेटा बनाना या संशोधित करना
CSV फ़ाइलों की एक मुख्य विशेषता है कि जानकारी को आसानी से एक्सेस और साझा किया जा सकता है। इसकी अनूठी संरचना के कारण इस फ़ाइल को किसी भी सॉफ़्टवेयर का उपयोग करके खोला और प्रोसेस किया जा सकता है। इससे ऐसे डेटा को स्प्रेडशीट या डेटाबेस के रूप में निर्यात करना सुविधाजनक हो जाता है।
अब, निम्नलिखित अनुभाग में, हम दिखाएंगे कि पायथन में CSV फ़ाइल को कैसे खोला और पढ़ा जाता है।
पायथन के साथ CSV फ़ाइलों को पार्स करना
पायथन में एक बिल्ट-इन CSV लाइब्रेरी होती है, जो डेटा को आसानी से पढ़ और लिख सकती है। बाहरी लाइब्रेरी को इंस्टॉल करने की आवश्यकता नहीं होती, जिससे सामग्री का विश्लेषण करना और फ़ाइलों को खोलना एक आसान कार्य बन जाता है।
निम्नलिखित कोड खंड दिखाते हैं कि पायथन में university_records नामक एक CSV फ़ाइल को कैसे खोला और प्रिंट किया जाए। इसमें फ़ाइल को पढ़ने के लिए "read mode" का उपयोग किया जाता है, फिर CSV फ़ाइल को पढ़ा जाता है, और अंत में, इसे for लूप के माध्यम से प्रिंट किया जाता है।
import csv
with open('university_records.csv', 'r') as csv_file:
reader = csv.reader(csv_file)
for row in reader:
print(row)
पायथन के साथ CSV फ़ाइलें लिखना
इस उद्देश्य के लिए, हम डेटा लिखने के लिए CSV मॉड्यूल का उपयोग करेंगे। CSV मॉड्यूल में जानकारी लिखने में आपकी सहायता करने के लिए कुछ उपयोगी विधियाँ हैं:
- .writer() – फ़ाइल बनाने का उपकरण है;
- .writerow() – डेटा को एक पंक्ति में संग्रहीत करता है।
मॉड्यूल की विधियों को नीचे दिए गए कोड में पूरी तरह से दर्शाया गया है:
import csv
row = ['David', 'MCE', '3', '7.8']
row1 = ['Monika', 'PIE', '3', '9.1']
row2 = ['Raymond', 'ECE', '2', '8.5']
with open('university_records.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
writer.writerow(row)
writer.writerow(row1)
writer.writerow(row2)
Pandas लाइब्रेरी के साथ CSV पार्स करना
आजकल CSV फ़ाइलों को पार्स करने के लिए पायथन का उपयोग करना अत्यंत महत्वपूर्ण है: वित्तीय स्प्रेडशीट से लेकर मशीन लर्निंग के लिए विशाल डेटाबेस तक। कभी-कभी इन फ़ाइलों के साथ काम करना कठिन हो सकता है, खासकर जब आपको पायथन द्वारा डिफॉल्ट रूप से प्रदान की गई सुविधाओं से अधिक की आवश्यकता होती है। ऐसे मामलों में, Pandas लाइब्रेरी उपयोगी साबित हो सकती है।
नीचे दिए गए उदाहरण में DataFrame के माध्यम से डेटा लिखने की पूरी क्षमता प्रदर्शित की गई है। DataFrame, Pandas लाइब्रेरी की मुख्य डेटा संरचनाओं में से एक है और इसे टैबुलर डेटा के साथ काम करने के लिए उपयोग किया जाता है।
import pandas as pd
data = {"Name": ["David", "Monika", "Raymond"],
"Age": [30, 25, 40],
"City": ["Kyiv", "Lviv", "Odesa"]
}
df = pd.DataFrame(data)
file_path = "data.csv"
df.to_csv(file_path, index=False, encoding="utf-8")
Pandas लाइब्रेरी की मुख्य विशेषताएँ
पायथन के लिए Pandas लाइब्रेरी को CSV फ़ाइलों को पार्स करने के लिए सबसे प्रभावी लाइब्रेरी में से एक माना जाता है, और यहाँ कुछ कारण दिए गए हैं कि यह इतनी शक्तिशाली और सुविधाजनक क्यों है:
- सरल फ़ाइल अपलोड। यदि कोई डेटासेट कई स्रोतों से आता है और इसके फ़ॉर्मेटिंग में असंगति होती है, तो Pandas अपनी उत्कृष्टता साबित करता है, क्योंकि यह फ़ाइल को स्वचालित रूप से पार्स करता है और मैन्युअल प्रयास को समाप्त कर देता है।
- विस्तार क्षमता (Scalability)। जब स्टैंडर्ड पायथन लाइब्रेरी बड़ी मात्रा में CSV फ़ाइलों को पार्स करने का प्रयास करती हैं, तो वे अक्सर धीमी हो जाती हैं, लेकिन Pandas के साथ यह समस्या नहीं होती। यह बड़ी फ़ाइलों के साथ कुशलता से कार्य करता है। साथ ही, फ़ाइल अपलोड को छोटे भागों में विभाजित करने से मेमोरी ओवरलोड को रोका जा स कता है।
- विभिन्न प्रक्रियाओं को संभालना। CSV फ़ाइलों में अक्सर गायब मान (missing values), गलत फ़ॉर्मेट और डुप्लिकेट डेटा पाए जाते हैं। सौभाग्य से, Pandas में पहले से मौजूद टूल्स जैसे कि missing data हैंडलिंग, टाइप रिप्लेसमेंट, कैरेक्टर क्लीनिंग और सूचना पुनर्गठन जैसी सुविधाएँ उपलब्ध हैं, जो उन्नत विश्लेषण के लिए उपयोगी साबित होती हैं।
ये विशेषताएँ दर्शाती हैं कि यह लाइब्रेरी CSV फ़ाइलों का तेजी से विश्लेषण करने के लिए सबसे अच्छी है, क्योंकि अन्य टूल्स की तुलना में इसकी क्षमताएँ सीमित नहीं हैं। साथ ही, यह बड़ी मात्रा में डेटा को प्रोसेस करने में सक्षम है, जिससे यह सूचना प्रसंस्करण की दुनिया में अत्यधिक उपयोगी बन जाती है।
Pandas के साथ CSV फ़ाइलें पढ़ना
CSV दस्तावेज़ का उपयोग करने से पहले, पहला चरण इसे अपलोड करना होता है।
import pandas as pd
df = pd.read_csv("data.csv")
जब बड़े डेटासेट के साथ काम किया जाता है, तो Pandas टूल्स उपयुक्त होते हैं। आइए देखें कि एक पायथन स्क्रिप्ट CSV फ़ाइल को कैसे पार्स कर सकती है।
df.head() # पहली 5 पंक्तियों को दिखाता है
df.tail(10) # अंतिम 10 पंक्तियों को दिखाता है
df.info() # आउटपुट कॉलम, डेटा प्रकार और भरे हुए मानों की संख्या की एक सूची
एक या कई कॉलम का चयन करने के लिए, निष्पादित करें:
df["Name"] # कॉलम "Name" प्राप्त करें
df[["Name", "Age"]] # केवल "Name" और "Age" निकालें
Pandas के साथ CSV फ़ाइलें लिखना
अब आइए देखें कि किसी विशेष पंक्ति को कैसे सम्मिलित, संशोधित और हटाया जाए।
नई पंक्ति सम्मिलित करना:
# CSV फ़ाइल लोड करें
df = pd.read_csv(file_path)
# एक नई पंक्ति जोड़ें
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True)
# बचाना
df.to_csv(file_path, index=False, encoding="utf-8")
किसी विशेष पंक्ति को संशोधित करना:
df = pd.read_csv(file_path)
# इवान की आयु बदलें
df.loc[df["Name"] == "Ivan", "Age"] = 26
df.to_csv(file_path, index=False, encoding="utf-8")
एक पंक्ति हटाना:
df = pd.read_csv(file_path)
# उस पंक्ति को हटा दें जहां नाम == "Mykhailo"
df = df[df["Name"] != "Mykhailo"]
df.to_csv(file_path, index=False, encoding="utf-8")
निष्कर्ष
योग करने के लिए, इस लेख में हमने दिखाया कि कैसे पायथन में एक सीएसवी फ़ाइल को खोलना और पढ़ना है। लेकिन जब भी किसी उपयोगकर्ता को अधिक सटीकता और शक्तिशाली व्याख्या करने वाले उपकरणों की आवश्यकता होती है, तो पांडा पूरी तरह से काम करता है। दोहरावदार प्रक्रियाओं को स्वचालित करना, बड़े पैमाने पर फ़ाइलों को संभालने और समय की बचत के लिए अनुमति देना, यह पुस्तकालय बहुत प्रभावी है। इसलिए, यह निष्कर्ष निकाला जा सकता है कि बुनियादी कार्यों के लिए, मानक सीएसवी लाइब्रेरी आवश्यकताओं को प्रदान करती है, जबकि पांडा व्यापक सूचना डेटा से निपटने के लिए बनाया गया है।
