डेटा और स्प्रेडशीट · CSV क्लीनर
CSV का संक्षिप्त इतिहास: प्रारंभिक फोरट्रान इनपुट से लेकर आधुनिक डेटा निर्यात तक
· पेजभूमि
CAसवी डेटा-प्रारूप अंतर
CSV पर्सनल कंप्यूटर से पहले का है और इसे कभी डिज़ाइन नहीं किया गया था, केवल संचित किया गया था। यह पोस्ट स्प्रेडशीट और डेटाबेस के माध्यम से प्रारंभिक फोरट्रान में सूची-निर्देशित इनपुट से लेकर आज के निर्यात तक के प्रारूप का पता लगाता है, और दिखाता है कि कैसे प्रत्येक युग ने अपनी विचित्रताएँ छोड़ीं।
एक प्रारूप जिसका उपयोग हर कोई करता है और किसी ने डिज़ाइन नहीं किया है - क्यों CSV की गड़बड़ी ऐतिहासिक है, आकस्मिक नहीं
अल्पविराम फ़ाइल, अर्धविराम फ़ाइल और टैब फ़ाइल सभी स्वयं को स्प्रेडशीट निर्यात के रूप में प्रस्तुत कर सकते हैं। वह भिन्नता ToolAcre के समर्थित इनपुट और परीक्षणों में देखी जा सकती है। हालाँकि, पूर्ण ऐतिहासिक कारण को समझाने के लिए बाहरी प्राथमिक स्रोतों की आवश्यकता होती है जो इस मॉड्यूल के लिए उपयोग किए जाने वाले रिपॉजिटरी पथों में से नहीं हैं।
इसलिए उपयोगी स्रोत-आधारित कहानी कालानुक्रमिक के बजाय व्यावहारिक है। CSV टेक्स्ट-टेबल सम्मेलनों का एक परिवार है, और क्लीनर चार सीमांकक, तीन लाइन-एंडिंग फॉर्म, दोहरे उद्धरण चिह्न, एम्बेडेड न्यूलाइन और एक अग्रणी UTF-8 BOM को संभालता है। वे अंतर तारीखों का आविष्कार किए बिना वर्तमान अंतरसंचालनीयता विफलताओं की व्याख्या करते हैं।
CSV वर्तमान फ़ाइलों में भिन्नता दिखाई देती है; यह क्यों उत्पन्न हुआ इसके बारे में दावों के लिए इस भंडार से परे स्रोतों की आवश्यकता है
कार्यपुस्तिका अल्पविराम से अलग की गई सूचियों को प्रारंभिक फोरट्रान इनपुट से जोड़ती है, लेकिन कोई कार्यान्वयन या कॉन्फ़िगरेशन फ़ाइल उस खाते को सत्यापित नहीं करती है। इसे दोहराने से असमर्थित इतिहास को छोड़ने की संलेखन अनुबंध की आवश्यकता का उल्लंघन होगा। शीर्षक को चुपचाप संक्षेप में बदलने के बजाय स्पष्ट सुधार के माध्यम से बरकरार रखा जाता है।
पार्सर जो प्रदर्शित कर सकता है वह एक छोटी पंक्ति-और-फ़ील्ड मॉडल की स्थायी अपील है। यह एक समय में एक अक्षर के पाठ के माध्यम से आगे बढ़ता है और तालिका के पुनर्निर्माण के लिए केवल उद्धृत स्थिति और एक चयनित सीमांकक की आवश्यकता होती है। वह तकनीकी सरलता उपयोगिता को समझाने में मदद करती है, ऐतिहासिक उत्पत्ति की नहीं।
प्रारंभिक फोरट्रान इतिहास भंडार साक्ष्य से बाहर है
इसी तरह, यह स्रोत सेट यह दस्तावेज़ नहीं करता है कि किस प्रारंभिक स्प्रेडशीट या डेटाबेस विक्रेता ने कौन सा सम्मेलन अपनाया। यह उस अवशेष को दिखाता है जिसे एक एकीकरण को अब संभालना होगा: विभाजक अलग-अलग हो सकते हैं, रिकॉर्ड CRLF, LF या CR का उपयोग कर सकते हैं, और उद्धृत फ़ील्ड भौतिक रेखाओं का विस्तार कर सकते हैं।
किसी विक्रेता को एक विचित्रता सौंपने के बजाय, उसे वास्तविक फ़ाइल में पहचानें। ऑटो-डिटेक्टर प्रत्येक उम्मीदवार के तहत दस-पंक्ति नमूना पार्स करता है और एक विस्तृत आयताकार परिणाम का पक्ष लेता है। चयनित चरित्र को नियंत्रण में वापस लिखा जाता है, जिससे आगंतुक को ऐतिहासिक अनुमान के बजाय निरीक्षण योग्य उत्तर मिलता है।
विक्रेता द्वारा गोद लेने का इतिहास भंडार साक्ष्य से बाहर है; वर्तमान बोली परिणाम सत्यापन योग्य हैं
अर्धविराम से अलग की गई फ़ाइलें एक समर्थित वास्तविकता हैं। पार्सर और परीक्षण साबित करते हैं कि उद्धृत डेटा में कई अल्पविराम होने पर भी अर्धविराम स्तंभों को परिभाषित कर सकते हैं। कार्यपुस्तिका की स्थानीय व्याख्या प्रशंसनीय हो सकती है, लेकिन ये रिपॉजिटरी स्रोत ऑपरेटिंग-सिस्टम या स्प्रेडशीट क्षेत्रीय नीति स्थापित नहीं करते हैं।
क्रॉस-ऑफिस हैंडऑफ़ के लिए, स्पष्ट रूप से सीमांकक से सहमत हों और प्राप्तकर्ता पार्सर में परिणाम सत्यापित करें। यह न मानें कि किसी सहकर्मी का स्थान फ़ाइल का सिंटैक्स निर्धारित करता है। फ़ाइल स्वयं, निर्माता की निर्यात सेटिंग और गंतव्य अनुबंध भूगोल की तुलना में अधिक मजबूत साक्ष्य प्रदान करते हैं।
अर्धविराम बोलियाँ समर्थित हैं, जबकि उनका स्थानीय इतिहास इन स्रोतों से सिद्ध नहीं होता है
आधुनिक ToolAcre पेज फ़ाइल चयन, चिपकाया गया पाठ, पूर्वावलोकन और डाउनलोड करने योग्य आउटपुट प्रदान करता है। यह दर्शाता है कि CSV आज ब्राउज़र एक्सचेंज आर्टिफैक्ट के रूप में कैसे कार्य करता है। यह साबित नहीं होता है कि डाउनलोड बटन कब आम हो गए या किस 2005 प्रकाशन ने विक्रेता के व्यवहार को बदल दिया।
वर्तमान यांत्रिकी एक प्रतिलिपि प्रस्तुत करने योग्य वर्कफ़्लो के लिए पर्याप्त हैं: लोड करें, पता लगाए गए डिलीमीटर का निरीक्षण करें, संरचनात्मक चेतावनियों को हल करें, स्पष्ट सफाई लागू करें और क्रमबद्ध करें। ऐतिहासिक पेजभूमि से कभी भी उन परिचालन जांचों को अस्पष्ट नहीं किया जाना चाहिए या यह नहीं दर्शाया जाना चाहिए कि पुराने प्रारूप की एक स्वचालित व्याख्या होती है।
रिपॉजिटरी आधुनिक डाउनलोड व्यवहार को प्रदर्शित करती है, संपूर्ण वेब-युग कालक्रम को नहीं
ToolAcre चयनित फ़ाइलों को टेक्स्ट के रूप में पढ़ता है और UTF-8 प्लस एक वैकल्पिक अग्रणी UTF-8 BOM का समर्थन करता है। कॉन्फ़िगरेशन स्पष्ट रूप से कहता है कि लीगेसी Windows-1252 या Shift-JIS इनपुट प्रतिस्थापन वर्ण बन जाता है। वह सीमा सत्यापित है; ASCII से कोड पेजों के माध्यम से यूनिकोड तक कोई कालक्रम नहीं है।
तदनुसार, टूल वैध UTF-8 स्ट्रिंग से BOM को हटा सकता है और वैकल्पिक रूप से निर्यात पर एक जोड़ सकता है। यह पहले के एन्कोडिंग युगों की मरम्मत नहीं कर सकता या उनके कोड पेजों की पहचान नहीं कर सकता। विरासत बाइट्स को सुरक्षित रखें और संरचनात्मक CSV सफाई से पहले एन्कोडिंग-जागरूक रूपांतरण का उपयोग करें।
ToolAcre की UTF-8 सीमा और BOM हैंडलिंग ज्ञात है; एन्कोडिंग कालक्रम दायरे से बाहर है
यह लेख संपूर्ण समयरेखा या विक्रेता सर्वेक्षण नहीं है। यह जानबूझकर असमर्थित तिथियों, विशेषताओं और क्षेत्रीय डिफ़ॉल्ट के बारे में दावों को छोड़ देता है। चूक साक्ष्य अनुशासन हैं: एक स्रोत मॉड्यूल को केवल इसलिए इतिहास ग्रंथ सूची के रूप में प्रस्तुत नहीं किया जाना चाहिए क्योंकि कार्यपुस्तिका पेजभूमि का अनुरोध करती है।
जो बाकी है वह अभी भी व्याख्यात्मक है। प्रारूप की वर्तमान विविधता वास्तविक पार्सर शाखाओं और कॉन्फ़िगरेशन सीमाओं में दिखाई देती है। एक पाठक अल्पविराम, अर्धविराम, टैब और पाइप व्यवहार, न्यूलाइन वेरिएंट, BOM हैंडलिंग और उद्धरण नियमों को उनके मूल के बारे में एक उपाख्यान पर भरोसा किए बिना पुन: पेश कर सकता है।
हर विचित्रता का एक कारण और एक समाधान होता है - कैसे ToolAcre CSV क्लीनर यहां वर्णित सीमांकक, एन्कोडिंग और उद्धृत विरासतों की मरम्मत करता है
प्रत्येक समर्थित क्विर्क का एक विशिष्ट हैंडलिंग नियम होता है। डिलीमीटर का पता लगाया जाता है या चुना जाता है, पंक्ति के अंत को पार्स किया जाता है, उद्धरण स्टेटफुल होता है, BOM को शून्य स्थिति में हटा दिया जाता है और विकृत पंक्ति चौड़ाई की सूचना दी जाती है। असमर्थित विरासत एन्कोडिंग की मरम्मत नहीं की गई है और अस्पष्ट अज्ञात उद्धरण का अनुमान नहीं लगाया गया है।
ToolAcre का उपयोग व्यावहारिक अभिसरण बिंदु के रूप में करें, ऐतिहासिक कथा के प्रमाण के रूप में नहीं। यह सेल स्ट्रिंग्स को संरक्षित करते हुए समीक्षा की गई पाठ्य संरचना को सुसंगत आउटपुट में बदल सकता है। जब भी कोई विरासती विशेषता उन सत्यापित शाखाओं के बाहर होती है तो मूल स्रोत और उसका उद्गम आवश्यक रहता है।