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