डेटा को हिस्सों में प्रोसेस करना (1)
कभी-कभी डेटा सोर्स इतने बड़े होते हैं कि पूरे डेटासेट को मेमोरी में रखना बहुत भारी पड़ता है. इस अभ्यास में, आप फ़ाइल की पहली 1000 पंक्तियों को लाइन-बाय-लाइन प्रोसेस करेंगे, ताकि डेटासेट के एक कॉलम में हर देश के आने की संख्या गिनकर उसका एक डिक्शनरी बना सकें.
csv फ़ाइल 'world_dev_ind.csv' आपके करंट डायरेक्टरी में उपयोग के लिए मौजूद है. शुरू करने के लिए, आपको एक कॉन्टेक्स्ट मैनेजर का उपयोग करके इस फ़ाइल से कनेक्शन खोलना होगा. उदाहरण के लिए, कमांड with open('datacamp.csv') as datacamp csv फ़ाइल 'datacamp.csv' को कॉन्टेक्स्ट मैनेजर में datacamp के रूप में बाइंड करता है. यहाँ with स्टेटमेंट कॉन्टेक्स्ट मैनेजर है, और इसका उद्देश्य है कि फ़ाइल से कनेक्शन खोलते समय संसाधनों का कुशल प्रबंधन हो.
यदि आप कॉन्टेक्स्ट मैनेजर के बारे में और जानना चाहते हैं, तो DataCamp का Importing Data in Python कोर्स देखें.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python टूलबॉक्स
अभ्यास निर्देश
- कॉन्टेक्स्ट मैनेजर में
open()का उपयोग करके csv फ़ाइल'world_dev_ind.csv'कोfileके रूप में बाइंड करें. forलूप को पूरा करें ताकि यह 1000 बार इटरेट करे, लूप बॉडी चलाए, और फ़ाइल के केवल पहले 1000 रो के डेटा को प्रोसेस करे.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Open a connection to the file
with ____ as ____:
# Skip the column names
file.readline()
# Initialize an empty dictionary: counts_dict
counts_dict = {}
# Process only the first 1000 rows
for j in ____:
# Split the current line into a list: line
line = file.readline().split(',')
# Get the value for the first column: first_col
first_col = line[0]
# If the column value is in the dict, increment its value
if first_col in counts_dict.keys():
counts_dict[first_col] += 1
# Else, add to the dict and set value to 1
else:
counts_dict[first_col] = 1
# Print the resulting dictionary
print(counts_dict)