"Sep =" मेटाडेटा क्या है जिसे आप CSV में जोड़ सकते हैं?


24

एक स्पेनिश पीसी पर एक्सेल में सीएसवी को सही ढंग से खोलने के लिए कैसे पता लगाने की कोशिश करते हुए (ग्राहक से संबंधित) मुझे sep=,फ़ाइल के शीर्ष पर उपयोग करने की सिफारिश करने वाले कई उत्तर मिले :

इसके चेहरे पर, यह दृष्टिकोण काम करता है, लेकिन उन उत्तरों में से कोई भी आगे की जानकारी नहीं देता है कि यह मेटाडेटा विकल्प कहां से आता है। मैंने इसका क्या अर्थ है, इसकी खोज करने की कोशिश की है (और इसलिए उन सभी उत्तरों को पाया गया है), लेकिन विशेष रूप से दी गई किसी भी अधिक जानकारी को प्राप्त करने में असमर्थ रहे हैं, जिसके लिए खोज करने के लिए विराम चिह्नों का उपयोग करना कठिन है।

मेरी प्राथमिक चिंता यह है कि यह एक एक्सेल-विशिष्ट सुविधा है या नहीं । मुझे संदेह है कि लेकिन इसकी पुष्टि के लिए कुछ भी निश्चित नहीं है।

कुछ संबंधित प्रश्न हैं:

  • इस सेटिंग में किन वर्णों का उपयोग किया जा सकता है?
  • क्या अन्य सेटिंग्स उपलब्ध हैं (उदाहरण के लिए लाइन समाप्ति वर्ण, उद्धरण वर्ण, आदि)।
  • क्या कोई अन्य उपकरण हैं जो आधिकारिक रूप से इस सुविधा का समर्थन करते हैं?

मैं उम्मीद कर रहा हूँ कि कहीं न कहीं एक दस्तावेज है कि कोई मुझे इंगित कर सकता है जो इन सभी सवालों का जवाब देगा और अधिक; मैं अभी इसे ढूंढ नहीं पाया हूं।

कुछ स्पष्टीकरण:

sep=एक पार्सर के लिए एक पैरामीटर नहीं है। यह सीएसवी के अंदर रखा जाना है । उदाहरण:

sep=|
"LETTER"|"ANIMAL"
"a"|"aardvark"
"b"|"bear"
"c"|"cow"

4
हां, यह एक्सेल विशिष्ट है
रेस्टाफ़ेरियन

2
क्या आप इस पर कुछ हासिल कर पाए? मैं एक ही सवाल से डटा हुआ हूं और मुझे अभी तक कोई एमएस चश्मा नहीं मिला है जो इस सुविधा का वर्णन करता है। यदि यह सुविधा एमएस द्वारा अनिर्दिष्ट है, तो पहली जगह में यह कैसे निकल गया?
टॉडलरमेनोट

@toddlermenot दुख की बात नहीं है। मुझे जो कुछ भी मिलता है वह लोगों को यह अहसास दिलाता है कि यह एक्सेल विशिष्ट है, जिसमें कुछ भी ऐसा नहीं है, जो कि निराशाजनक हो।
बुरहान अली

जवाबों:


7

RFC 4180 को आमतौर पर CSV प्रारूप के लिए मानक के रूप में मान्यता प्राप्त है, और ऐसी किसी भी सुविधा का उल्लेख नहीं करता है।

वेब पर टेबुलर डेटा और मेटाडेटा के लिए W3C मॉडल का उल्लेख है कि यह एक सुविधा के रूप में उनके दायरे में नहीं है:

कई "सीएसवी" फाइलें मेटाडेटा को एम्बेड करती हैं, उदाहरण के लिए सीएसवी दस्तावेज़ की हेडर पंक्ति से पहले लाइनों में। यह विनिर्देश हेडर पंक्ति में कॉलम के नाम से हटकर, CSV फ़ाइलों के भीतर मेटाडेटा को एम्बेड करने के लिए किसी भी प्रारूप को परिभाषित नहीं करता है।

इसलिए जब मुझे कोई प्रत्यक्ष प्रमाण नहीं मिला कि यह विशेषता एक्सेल-विशिष्ट है, तो यह स्पष्ट रूप से अभी भी मामला है क्योंकि ऐसा लगता है कि उस सुविधा को कवर करने वाला कोई मानकीकरण दस्तावेज नहीं है।


अच्छा सोर्सिंग। एक बात मुझे कहनी चाहिए कि sep = | एक्सेल में पाइप कैरेक्टर ('|') के रूप में उपयोग के लिए सेपरेटर को परिभाषित करता है। यह व्यापक रूप से उपयोग नहीं किया जाता है, लेकिन एक्सेल के लिए अनन्य नहीं है। यह एक सेपरेटर निर्देश है। उदाहरण के लिए, Excel iirc के अंतर्राष्ट्रीय संस्करणों में अलग-अलग वर्ण हैं, उदाहरण के लिए, एक्सेल चलाने वाली मशीन पर यूरोपीय भाषा अर्धविराम का उपयोग करती है।
var पहला नाम

1
मुझे उपयोग के बारे में पता है (शायद यह मेरे उत्तर से पूरी तरह से स्पष्ट नहीं था)। मैं केवल यह इंगित कर रहा था कि ऐसा लगता है कि एक्सेल ने उस सुविधा को पेश किया है, जिसके साथ यह किसी भी प्रकार (सार्वजनिक) मानक पर आधारित है।
स्टेफेन कोगल

0

आपके किसी प्रश्न के उत्तर की ओर योगदान करने के लिए: "क्या कोई अन्य उपकरण हैं जो आधिकारिक रूप से इस सुविधा का समर्थन करते हैं?"

यह Apple नंबरों द्वारा समर्थित नहीं है (मैंने संख्या संस्करण 3.6.2 का उपयोग करके परीक्षण किया है)।

यह csv2json ( https://www.npmjs.com/package/csv2json ) और न ही csvtojson ( https://www.npmjs.com/package/csvtojson ) द्वारा समर्थित नहीं है ।


-1

अनुदेश sep = का उपयोग उन सभी देशों में किया जाता है जहां अल्पविराम का उपयोग दशमलव परिसीमाक के रूप में, इटली के रूप में किया जाता है। चूंकि एक्सेल उन देशों में अल्पविरामों के बजाय सेमीकोल का उपयोग करके सीएसवी निर्यात करता है, यदि आप सुनिश्चित करना चाहते हैं कि फ़ाइल को यूएसए या अन्य देशों में पढ़ा जा सकता है, तो आपको आवश्यकता है

सितम्बर =;

फ़ाइल के शीर्ष पर। यह एक्सेल-विशिष्ट है और इसे अन्य अनुप्रयोगों द्वारा अनदेखा किया जा सकता है।


-2

बस किसी भी उपकरण के बारे में जो .csv फ़ाइलों से आयात कर सकता है, यह पहचानता है कि अल्पविराम एकमात्र संभव विभाजक नहीं है, उदाहरण के लिए टैब लंबे समय से सामान्य हैं। मुझे लगता है कि यह पंच कार्ड के दिनों में भी वापस चला जाता है, कि कुछ ऐसे चरित्र होने चाहिए जो डेटा फ़ील्ड के अंत के रूप में पहचाने जाते हैं - सिस्टम के अपवाद के साथ जो निश्चित चौड़ाई फ़ील्ड या लंबाई उपसर्ग फ़ील्ड का उपयोग करता है बस हर सिस्टम को इसकी आवश्यकता होती है कंप्यूटर के आगमन के बाद से।

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

एक ऐतिहासिक प्रणाली जिसका उपयोग मैं क्षेत्र के अंत के लिए उपयोग किया गया था, रिकॉर्ड के अंत के लिए 2 रिक्त लाइनों और *!*!* END *!*!*डेटा के अंत के लिए। मैं आमतौर पर ,\t|:विभिन्न नियंत्रण पात्रों के साथ एक क्षेत्र विभाजक के रूप में इस्तेमाल किया जाता है।

इस बात से सावधान रहना चाहिए कि फ्रांसीसी और अन्य लोग दशमलव बिंदु के रूप में अल्पविराम का उपयोग करते हैं - यह सभी प्रकार के मजेदार और खेल का कारण बन सकता है। Rfc4180 में csv फ़ाइलों के लिए मानकीकरण की एक डिग्री है, लेकिन ऐसे समय होते हैं जब आपको एक प्रोग्राम से निर्यात करने और दूसरे को आयात करने के लिए मैन्युअल रूप से फ़ाइलों को संपादित करने की आवश्यकता होती है।

उदाहरण के लिए, आपके प्रश्न के दूसरे भाग का उत्तर देने के लिए, उदाहरण के लिए, निम्न विकल्पों की पेशकश करने वाले मानक पुस्तकालयों में से एक के रूप में एक सीएसवी रीडर / लेखक शामिल हैं:

  • delimiter- यह क्षेत्र विभाजक है, (जब तक बच न जाए)।
  • doublequote- अगर सच है तो एक क्षेत्र के " भीतर के रूप में प्रतिनिधित्व किया जाएगा""
  • escapechar- किसी भी निम्नलिखित चरित्र से कोई विशेष अर्थ निकालता है, उदाहरण के लिए यदि यह सेट है \तो उद्धरण के रूप में दर्शाया जा सकता है\"
  • lineterminator- आमतौर पर , या \n, में से एक\r\r\n\n\r
  • quotechar- चरित्र आमतौर पर "या , स्ट्रिंग को उद्धृत करता था'
  • quoting - ध्वज में से एक के रूप में:
    • ALL - हर क्षेत्र उद्धरणों में है, अर्थात: "1","Free Beer","ASAP"
    • MINIMAL - केवल बोली वाले फ़ील्ड जिनके विशेष वर्ण हैं, अर्थात: 1,"Beer, (Free)", Now, Please
    • QUOTE_NONNUMERIC - ऐसी कोई भी चीज़ उद्धृत करें, जो एक संख्या न हो, अर्थात: 1,"Beer, (Free)", "Now", "Please"
    • NONE - इसके बजाय भागने का उद्धरण न दें, अर्थात: 1,Beer\, (Free), Now, Please
  • skipinitialspace- प्रत्येक क्षेत्र के किसी भी अग्रणी स्थान को छोड़ दें ताकि आप , केवल ,क्षेत्र विभाजक के रूप में उपयोग कर सकें ।

आम तौर पर अधिक लचीली और अच्छी तरह से सोचा जाने वाला एक उपकरण, जो csv फ़ाइलों को आयात कर सकता है, इन विकल्पों में से अधिक है, (संभवतः भिन्न नामों और / या तंत्रों के साथ), कि यह होगा।


2
यह मेरे सवाल का जवाब नहीं है। यह बताता है कि CSV क्या हैं, जिनके बारे में मुझे पहले से पता है। मेरा प्रश्न सिंटैक्स के एक विशिष्ट टुकड़े के बारे में है। क्या कोई ऐसी पृष्ठभूमि है जिसे मैं चीजों को स्पष्ट करने के लिए अपने प्रश्न में जोड़ सकता हूं?
बुरहान अली

1
धन्यवाद, लेकिन वह अभी भी मदद नहीं करता है। sep=एक पैरामीटर के लिए एक पैरामीटर नहीं है। मैंने अपने प्रश्न में कुछ स्पष्टीकरण जोड़ा है।
बुरहान अली

1
@SteveBarnes लेकिन क्या कोई उपकरण है, उदाहरण के लिए आपके द्वारा उल्लिखित पायथन लाइब्रेरी, फ़ाइल की सामग्री के भाग के रूप में विकल्पों की अनुमति देता है? यही है, मुझे लगता है, सवाल का मुख्य बिंदु।
रैंडी ऑरिसन

1
"क्योंकि वे कई एक्सेल विषमताओं में से एक हैं।" है यह, हालांकि? मैं जो काम करने की कोशिश कर रहा हूं उसका वह हिस्सा है। मैं जानना नहीं चाहता कि CSV क्या है। मैं नहीं जानना चाहता कि CSV को कैसे पार्स किया जाए। मैं जानना चाहता हूं कि यह क्या sep=है और कहां से आता है।
बुरहान अली

2
sep = एक Microsoft Excel विशिष्ट संकेत विधि है जो किसी भी गैर-Microsoft विनिर्देश में शामिल नहीं है जिसे मैं पा सकता हूं। यह Microsoft के एक भाग से आता है।
स्टीव बार्न्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.