"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन 2.7 में बड़ी CSV फ़ाइलों को प्रभावी ढंग से कैसे संभालें?

पायथन 2.7 में बड़ी CSV फ़ाइलों को प्रभावी ढंग से कैसे संभालें?

2025-03-05 पर पोस्ट किया गया
ब्राउज़ करें:148

] हालाँकि, यह विधि बड़ी फ़ाइलों के लिए अव्यावहारिक हो जाती है, क्योंकि यह अत्यधिक मेमोरी का उपभोग करती है। प्रोसेस पंक्तियों के रूप में वे उत्पन्न होते हैं:

How to Effectively Handle Large CSV Files in Python 2.7?

पूरी फ़ाइल को मेमोरी में लोड करने से बचें। इसके बजाय, प्रक्रिया पंक्तियों के रूप में वे एक जनरेटर फ़ंक्शन का उपयोग करके उत्पन्न होते हैं। ओपन (फ़ाइल नाम, "आरबी") के साथ csvfile के रूप में: DataReader = CSV.Reader (CSVFile) उपज अगला (DataReader) # हेडर पंक्ति उपज DataReader में पंक्ति के लिए: यदि पंक्ति [3] == मानदंड: उपज पंक्ति

2। फ़िल्टरिंग के लिए जनरेटर फ़ंक्शन का उपयोग करें:

फ़िल्टर डेटा को जनरेटर फ़ंक्शंस का उपयोग करके फ़ाइल के माध्यम से पुनरावृत्त करते हुए। यह दृष्टिकोण एक विशिष्ट मानदंड को पूरा करने वाले कई लगातार पंक्तियों से मेल खाने की अनुमति देता है। ओपन (फ़ाइल नाम, "आरबी") के साथ csvfile के रूप में: DataReader = CSV.Reader (CSVFile) उपज अगला (DataReader) # हेडर पंक्ति उपज से उपज ( लैम्ब्डा आर: आर [3] == मानदंड, Dropwhile (Lambda R: R [3]! = मानदंड, DataReader))

3। मेमोरी की खपत का अनुकूलन करें:

refactor getData () एक जनरेटर फ़ंक्शन का उपयोग करने के लिए, यह सुनिश्चित करना कि किसी भी समय केवल एक पंक्ति मेमोरी में आयोजित की जाती है। मानदंड में मानदंड के लिए: getStuff (फ़ाइल नाम, मानदंड) में पंक्ति के लिए: उपज पंक्ति

गति के लिए अतिरिक्त युक्तियाँ:
def getstuff(filename, criterion):
    with open(filename, "rb") as csvfile:
        datareader = csv.reader(csvfile)
        yield next(datareader)  # yield the header row
        for row in datareader:
            if row[3] == criterion:
                yield row

यह तेज और अधिक कुशल प्रसंस्करण के लिए एक डेटाबेस में।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3