मेरे दृष्टिकोण से, यह प्रश्न दो-चरणीय उत्तर के लिए उपयुक्त है। पहला भाग, इसे हम सॉफ्ट प्रीप्रोसेसिंग कहते हैं, इसे अलग-अलग डेटा माइनिंग एल्गोरिदम के उपयोग से डेटा को प्रीप्रोसेस करने के लिए इस तरह से लिया जा सकता है, जो इसे आगे के विश्लेषण के लिए उपयुक्त बनाता है। ध्यान दें कि यह विश्लेषण स्वयं हो सकता है, यदि एक ही शॉट में गोल करने के लिए लक्ष्य सरल है।
दूसरा भाग, हार्ड प्रीप्रोसेसिंग , वास्तव में किसी अन्य प्रक्रिया से पहले आता है, और इसे संसाधित करने के लिए विशिष्ट सामग्री का चयन करते हुए, डेटा को साफ करने के लिए सरल उपकरण या स्क्रिप्ट के उपयोग के रूप में लिया जा सकता है। इस समस्या के लिए, POSIX हमें जादू के उपकरणों का एक अद्भुत सेट प्रदान करता है, जिसका उपयोग संक्षिप्त रचना करने के लिए किया जा सकता है - और बहुत शक्तिशाली - प्रीप्रोसेसिंग स्क्रिप्ट।
उदाहरण के लिए, उन लोगों के लिए जो सोशल वेबसाइटों (ट्विटर, फेसबुक, ...) से आने वाले डेटा से निपटते हैं, द डेटा पुनर्प्राप्ति आमतौर पर बहुत विशिष्ट प्रारूप के साथ फाइल प्राप्त करता है - हालांकि हमेशा अच्छी तरह से संरचना नहीं होती है, क्योंकि उनमें लापता फ़ील्ड हो सकते हैं, और इसी तरह । इन मामलों के लिए, एक साधारण awk
स्क्रिप्ट डेटा को साफ कर सकती है, जो बाद के प्रसंस्करण के लिए एक वैध इनपुट फ़ाइल का निर्माण करती है । जादू सेट से, एक यह भी कहना है हो सकता है grep
, sed
, cut
, join
, paste
, sort
, और अन्य उपकरणों की एक पूरी भीड़।
यदि सरल स्रोत फ़ाइल में बहुत अधिक मात्रा में ग्रिटियाँ हैं, तो डेटा को साफ करने के लिए तरीकों का एक बंडल तैयार करना भी आवश्यक हो सकता है। ऐसे मामलों में, आमतौर पर स्क्रिप्टिंग भाषाओं (शेल के अलावा अन्य) का उपयोग करना बेहतर होता है, जैसे कि पायथन, रूबी, और पर्ल। यह एपीआई के निर्माण के लिए एक बहुत ही सीधे और पुन: प्रयोज्य तरीके से विशिष्ट डेटा का चयन करने की अनुमति देता है । इस तरह के एपीआई को कभी-कभी उनके लेखकों द्वारा सार्वजनिक किया जाता है, जैसे आईएमडीबीपीवाई , स्टैक एक्सचेंज एपीआई और कई अन्य।
तो, सवाल का जवाब देना: क्या कोई सर्वोत्तम प्रथाएं हैं? यह आमतौर पर आपके कार्य पर निर्भर करता है। यदि आप हमेशा एक ही डेटा प्रारूप के साथ व्यवहार करेंगे, तो आमतौर पर इसे आयोजित करने के लिए एक संगठित स्क्रिप्ट लिखना सबसे अच्छा है; जबकि, अगर आपको कुछ डेटासेट पर एक सरल और तेज़ सफाई की आवश्यकता है, तो संक्षिप्त स्क्रिप्ट के लिए POSIX टूल पर गणना करें जो कि संपूर्ण काम करेगा पायथन स्क्रिप्ट की तुलना बहुत तेज़ी से करेगा, या इसी तरह। चूंकि क्लीन अप डेटासेट और आपके उद्देश्यों दोनों पर निर्भर करता है, इसलिए यह सब कुछ पहले से ही करना मुश्किल है। फिर भी, एपीआई के बहुत सारे हैं जो आपको समस्या से आधे रास्ते में डालते हैं।