fixmint
HI

गंदी CSV फ़ाइल कैसे साफ़ करें: जाँचने वाली समस्याएँ, क्रम से

द्वारा · · 5 मिनट पढ़ाई

गंदी CSV एक्सपोर्ट को साफ़ करने के लिए उसे परतों में ठीक करें: पहले अक्षर, फिर लेआउट, और फिर हर कॉलम का अर्थ। CSV सादा टेक्स्ट है, इसलिए ज़्यादातर समस्याएँ गलत अक्षरों, फ़ालतू पंक्तियों या विभाजकों, या ऐसे मानों से आती हैं जिन्हें प्रोग्राम वैसे नहीं पढ़ता जैसे आप पढ़ते हैं। पहले अक्षर ठीक करें। एक छिपा हुआ स्पेस किसी तारीख को तारीख के रूप में पढ़े जाने से रोक सकता है, और फिर बाद के सारे सुधार बिना किसी साफ़ कारण के फ़ेल होते हैं।

CSV क्लीनरगंदी CSV, खाली और दोहराई पंक्तियाँमुफ़्त में करें

सही दिखने वाले पर असल में गलत अक्षर

फ़ालतू स्पेस। किसी सेल की शुरुआत या अंत में स्पेस, या किसी मान के बीच में दो स्पेस, लुकअप, फ़िल्टर या जॉइन के लिए "Berlin " और "Berlin" को दो अलग मान बना देता है।

अदृश्य अक्षर। कुछ अक्षर स्क्रीन पर जगह नहीं घेरते:

  • नॉन-ब्रेकिंग स्पेस (U+00A0) देखने में सामान्य स्पेस जैसा लगता है, पर वह अलग अक्षर है। वेब पेज शब्दों को साथ रखने के लिए इसे इस्तेमाल करते हैं।
  • ज़ीरो-विड्थ स्पेस (U+200B) की कोई चौड़ाई नहीं होती।
  • बाइट ऑर्डर मार्क (U+FEFF) फ़ाइल की सबसे पहली जगह पर, पहले हेडर से पहले बैठ सकता है। कॉलम "id" जैसा दिखता है, पर असल में वह "id" होता है, इसलिए "id" का लुकअप फ़ेल हो जाता है।

[छिपे हुए अक्षर हटाएं] कुछ भी बदलने से पहले दिखाता है कि उसे क्या मिला।

टूटे अक्षर। जहाँ "é" होना चाहिए वहाँ "é" दिखे, तो यह एन्कोडिंग की समस्या है जिसे म्रोजिबेक (mojibake) कहते हैं। फ़ाइल UTF-8 में सेव हुई थी, जहाँ é दो बाइट लेता है, और फिर उसे Windows-1252 में पढ़ा गया, जहाँ वे दो बाइट दो बिल्कुल अलग अक्षर बन जाते हैं। इसी तरह "’" अपोस्ट्रॉफ़ी "’" बन जाती है। इसका हल यह है कि फ़ाइल को UTF-8 के रूप में पढ़ें, या स्रोत से UTF-8 चुनकर दोबारा एक्सपोर्ट करें। जो टेक्स्ट पहले से गलत तरीके से सेव हो चुका है, उसे सुधारना नाज़ुक काम है, इसलिए मूल फ़ाइल रखें और कॉपी पर काम करें।

लेआउट: टाइटल पंक्तियाँ, खाली लाइनें और डुप्लिकेट

रिपोर्ट अक्सर एक शीर्षक, एक तारीख और असली हेडर के ऊपर एक खाली लाइन से शुरू होती हैं। हेडर पंक्ति के ऊपर की सारी चीज़ें हटाएँ, ताकि पहली लाइन में कॉलम के नाम हों। हर कॉलम का एक ही नाम होना चाहिए, और कोई नाम खाली नहीं होना चाहिए।

हर पंक्ति में फ़ील्ड की संख्या एक जैसी होनी चाहिए। किसी मान के भीतर, बिना कोटेशन के, एक फ़ालतू कॉमा एक फ़ील्ड जोड़ देता है, और उसके बाद के हर मान एक कॉलम दाईं ओर खिसक जाता है। हर पंक्ति के फ़ील्ड गिनें। जिस पंक्ति में गिनती अलग हो, वह टूटी हुई है।

डुप्लिकेट दो तरह के होते हैं। जो पंक्तियाँ हर कॉलम में एक जैसी हों, वे आमतौर पर दो बार एक्सपोर्ट या पेस्ट करने से आती हैं, और उन्हें हटाना सुरक्षित है। जो पंक्तियाँ एक ही की (key) साझा करती हैं पर बाकी में अलग हैं, वे अपडेट हो सकती हैं। गलत पंक्ति हटाने से सबसे नया संस्करण हट सकता है, इसलिए पहले उन्हें जाँचें।

तारीखें: 03/04/2026 दो अलग दिन हो सकता है

03/04/2026 एक देश में 3 अप्रैल है और दूसरे में 4 मार्च, और टेक्स्ट यह नहीं बताता कि कौन-सा। उसी कॉलम की बाकी तारीखें देखें। अगर किसी का पहला नंबर 12 से बड़ा है, तो कॉलम दिन-पहले है। अगर किसी का दूसरा नंबर 12 से बड़ा है, तो कॉलम महीना-पहले है। अगर हर मान में दोनों नंबर 12 या उससे कम हैं, तो फ़ाइल आपको नहीं बता सकती, इसलिए स्रोत सिस्टम से पूछें। डेटा टाइप जाँचक ऐसे कॉलम को अनुमान लगाने के बजाय अस्पष्ट के रूप में चिह्नित करता है।

क्रम पता चलने के बाद हर तारीख को ISO 8601 में बदलें, यानी 2026-04-03 जैसा साल-महीना-दिन रूप। यह अस्पष्ट नहीं होता, और टेक्स्ट के रूप में भी सही क्रम में लगता है। मिश्रित फ़ॉर्मैट को एक-एक करके बदलें, क्योंकि जिस कॉलम में दोनों शैलियाँ हों, उसे ज़्यादातर प्रोग्राम असंगत ढंग से पढ़ते हैं।

टेक्स्ट के रूप में संग्रहीत नंबर

कोई नंबर टेक्स्ट के रूप में तब संग्रहीत होता है जब उसमें मुद्रा का चिह्न, प्रतिशत चिह्न या बीच में स्पेस हो, जैसे "€ 12", "45%" या नॉन-ब्रेकिंग स्पेस वाला "1 234"। "1,234.50" जैसे हज़ार विभाजक अक्सर प्रोग्राम को मान को टेक्स्ट के रूप में पढ़ने पर मजबूर करते हैं। स्प्रेडशीट में टेक्स्ट वाले नंबर बाईं ओर लाइन में दिखते हैं, और जोड़ में छूट जाते हैं।

दशमलव कॉमा सबसे बड़ा जाल है। "1.234,50" में कॉमा दशमलव बिंदु है और पूर्ण विराम हज़ार को समूहित करता है। "1,234.50" में यह उल्टा है। इसलिए "1,234" एक एक्सपोर्ट में 1234 हो सकता है और दूसरे में 1.234। बदलने से पहले स्रोत का लोकेल पता करें, फिर हज़ार विभाजक हटाएँ और दशमलव कॉमा को बिंदु में बदलें।

शुरुआती शून्य खो जाते हैं

पोस्टल कोड, प्रोडक्ट कोड और खाता नंबर अक्सर शून्य से शुरू होते हैं। जब CSV स्प्रेडशीट में खुलती है, तो "01234" को नंबर 1234 पढ़ा जाता है, और शून्य गायब हो जाते हैं। फ़ाइल सेव करने से यह नुकसान बना रहता है, इसलिए स्रोत सिस्टम ही एकमात्र भरोसेमंद प्रति है।

पहचानकर्ता टेक्स्ट होता है, भले ही वह नंबर जैसा दिखे, क्योंकि उसके साथ कभी गणित नहीं किया जाता। CSV क्लीनर से साफ़ करते समय ऐसे कॉलम के लिए नंबर में बदलने का विकल्प बंद रखें, और स्प्रेडशीट द्वारा सेव की गई कॉपी के बजाय स्रोत से फ़ाइल दोबारा खोलें। उसके बाद हर कॉलम का डेटा टाइप जाँचें, ताकि पोस्टल कोड वाला कॉलम चुपचाप वापस नंबर में न बदल जाए। Excel CSV खोलते समय मान भी बदल सकता है, इसलिए नतीजा सादे टेक्स्ट व्यू में जाँचें।

टाइप जाँचें, फिर प्रोफ़ाइल बनाएँ

साफ़ करने के बाद हर कॉलम का टाइप जाँचें। कीमतों वाले कॉलम में एक "N/A" पूरे कॉलम को टेक्स्ट बना देता है, और फिर उसका जोड़ गलत आता है। डेटा टाइप जाँचक हर कॉलम को एक टाइप और एक भरोसा स्कोर देता है, और जो सेल फ़िट नहीं होते उनकी सूची दिखाता है।

फिर कॉलम की प्रोफ़ाइल बनाएँ। CSV कॉलम प्रोफ़ाइलर हर कॉलम में खाली जगहें और आउटलेयर दिखाता है। आउटलेयर असली मान हो सकता है, या कोई गलती जैसे एक कीमत जो बाकियों से हज़ार गुना बड़ी है, जो अक्सर गलत जगह पर दशमलव बिंदु या विभाजक से आती है।

विशेष स्थितियाँ

  • कोटेशन के भीतर लाइन ब्रेक। कोटेशन वाले मान में लाइन ब्रेक हो सकता है। जो टूल फ़ाइल को लाइनों से बाँटता है, वह उस पंक्ति को दो हिस्सों में तोड़ देता है, इसलिए ऐसा रीडर इस्तेमाल करें जो कोटेशन वाले फ़ील्ड समझता हो।
  • सेमीकोलन वाली फ़ाइलें। कई यूरोपीय स्प्रेडशीट CSV को सेमीकोलन के साथ सेव करती हैं, क्योंकि उनके लोकेल में कॉमा दशमलव विभाजक है। कॉलम पढ़ने से पहले विभाजक जाँच लें।
  • मूल फ़ाइल रखें। साफ़ किया हुआ नतीजा नई फ़ाइल में लिखें, और एक्सपोर्ट को जैसा था वैसा ही रखें।

क्रम, एक चेकलिस्ट के रूप में

  1. एक्सपोर्ट की मूल प्रति रखें।
  2. फ़ालतू स्पेस और अदृश्य अक्षर हटाएँ। हो सके तो टूटे अक्षर स्रोत पर ही ठीक करें।
  3. टाइटल पंक्तियाँ हटाएँ, हेडर के नाम जाँचें, और पक्का करें कि हर पंक्ति में फ़ील्ड की संख्या एक जैसी है।
  4. डुप्लिकेट ढूँढें और तय करें कौन-सा संस्करण रखना है।
  5. तारीखों को साल-महीना-दिन में बदलें, विभाजक हटाएँ, और पहचानकर्ताओं को टेक्स्ट बनाएँ।
  6. हर कॉलम का टाइप जाँचें, फिर खाली जगहों और आउटलेयर के लिए उसकी प्रोफ़ाइल बनाएँ।

त्वरित उत्तर

मान एक जैसे दिखते हैं, फिर भी मेरा लुकअप क्यों फ़ेल होता है?

आम तौर पर किसी एक सेल में स्पेस, नॉन-ब्रेकिंग स्पेस या बाइट ऑर्डर मार्क होता है। छिपे अक्षर हटाएँ और फिर से कोशिश करें।

मेरी तारीखें किसी और चीज़ में क्यों बदल जाती हैं?

किसी प्रोग्राम ने दिन-पहले या महीना-पहले वाली तारीख को गलत क्रम में पढ़ा, या टेक्स्ट को अपने तारीख-फ़ॉर्मैट में बदल दिया। पहले खुद तारीखों को साल-महीना-दिन में बदलें।

अंग्रेज़ी मूल से AI की मदद से अनुवादित।

टिप्पणियाँ

    अभी कोई टिप्पणी नहीं। पहली टिप्पणी आप करें।

    आपकी रेटिंग (वैकल्पिक)

    आपका ईमेल कभी दिखाया या सहेजा नहीं जाता।

    Open Data for AGI - Why Public, Free, and Open Datasets Matter का कवरOpen Data for AGI - Why Public, Free, and Open Datasets Matter

    सार्वजनिक, मुफ़्त और खुले डेटासेट आर्टिफ़िशियल जेनरल इंटेलिजेंस को उतना ही आकार क्यों देंगे, जितना एल्गोरिदम और कंप्यूट देंगे।

    $4.99Gumroad पर पाएँअंग्रेज़ी में