मैं जानता हूं कि यह एक पुराना सवाल है, लेकिन समस्या जल्द दूर नहीं होगी। CSV फाइलें अधिकांश प्रोग्रामिंग भाषाओं से उत्पन्न करना आसान है, बल्कि छोटे, एक सादे पाठ संपादक के साथ एक क्रंच में मानव-पठनीय, और सर्वव्यापी।
समस्या न केवल पाठ क्षेत्रों में तारीखों के साथ है , बल्कि कुछ भी संख्यात्मक भी पाठ से संख्याओं में परिवर्तित हो जाती है। उदाहरण के एक जोड़े जहां यह समस्याग्रस्त है:
- ज़िप / पोस्टल कोड
- टेलीफ़ोन नंबर
- सरकारी आईडी नंबर
जो कभी-कभी एक या एक से अधिक शून्य (0) से शुरू हो सकता है , जो संख्यात्मक में परिवर्तित होने पर फेंक दिया जाता है। या मान में ऐसे अक्षर होते हैं जो गणितीय संचालकों के साथ भ्रमित हो सकते हैं (जैसा कि तारीखों में: /, -)।
दो मामले जो मैं सोच सकता हूं कि "पूर्ववर्ती =" समाधान, जैसा कि पहले उल्लेख किया गया है, आदर्श नहीं हो सकता है
- जहां फ़ाइल को एमएस एक्सेल (एमएस वर्ड के मेल मर्ज फंक्शन को ध्यान में रखते हुए) के अलावा किसी प्रोग्राम में इंपोर्ट किया जा सकता है।
- जहां मानव-पठनीयता महत्वपूर्ण हो सकती है।
इसके आसपास काम करने के लिए मेरी हैक
यदि कोई मूल्य में एक गैर-संख्यात्मक और / या गैर-तिथि चरित्र को पूर्व / संलग्न करता है, तो मूल्य को पाठ के रूप में पहचाना जाएगा और परिवर्तित नहीं किया जाएगा। गैर-मुद्रण वर्ण अच्छा होगा क्योंकि यह प्रदर्शित मान को परिवर्तित नहीं करेगा। हालाँकि, सादा पुराना स्पेस कैरेक्टर (\ s, ASCII 32) इसके लिए काम नहीं करता है क्योंकि यह एक्सेल द्वारा कटा हुआ हो जाता है और फिर मूल्य फिर भी परिवर्तित हो जाता है। लेकिन कई अन्य मुद्रण और गैर-मुद्रण स्थान वर्ण हैं जो अच्छी तरह से काम करेंगे। हालांकि सबसे आसान है सरल टैब वर्ण (\ t, ASCII 9) जोड़ना (बाद में जोड़ना)।
इस दृष्टिकोण के लाभ:
- कीबोर्ड से या आसानी से याद रखने वाला ASCII कोड (9) उपलब्ध है,
- यह आयात को परेशान नहीं करता है,
- आम तौर पर मेल मर्ज परिणामों को परेशान नहीं करता है (टेम्पलेट लेआउट के आधार पर - लेकिन आम तौर पर यह सिर्फ एक पंक्ति के अंत में एक विस्तृत स्थान जोड़ता है)। (यदि यह हालांकि एक समस्या है, तो अन्य वर्णों को देखें। उदाहरण के लिए शून्य-चौड़ाई वाला स्थान (ZWSP, Unicode U + 200B)
- नोटपैड (आदि) में CSV देखने पर कोई बड़ी बाधा नहीं है,
- और एक्सेल (या नोटपैड आदि) को खोजने / बदलने के द्वारा हटाया जा सकता है।
- आपको CSV आयात करने की आवश्यकता नहीं है , लेकिन Excel में CSV खोलने के लिए बस डबल-क्लिक कर सकते हैं ।
यदि कोई कारण है कि आप टैब का उपयोग नहीं करना चाहते हैं, तो कुछ और उपयुक्त के लिए यूनिकोड तालिका में देखें।
एक अन्य विकल्प
XML फाइलें उत्पन्न करने के लिए हो सकता है, जिसके लिए एक निश्चित प्रारूप भी नए एमएस एक्सेल संस्करणों द्वारा आयात के लिए स्वीकार किया जाता है, और जो .XLS प्रारूप के समान बहुत सारे विकल्प की अनुमति देता है, लेकिन मुझे इसके साथ अनुभव नहीं है।
इसलिए विभिन्न विकल्प हैं। आपकी आवश्यकताओं / आवेदन के आधार पर, एक दूसरे से बेहतर हो सकता है।
इसके अलावा
यह कहने की आवश्यकता है कि MS Excel के नए संस्करण (2013+) ने स्प्रेडशीट प्रारूप में CSV को किसी भी अधिक नहीं खोला है - किसी के वर्कफ़्लो में एक और स्पीडबंप एक्सेल को कम उपयोगी बनाता है ... कम से कम, इसके चारों ओर प्राप्त करने के लिए निर्देश मौजूद हैं। उदाहरण देखें इस Stackoverflow: Excel 2013 के भीतर .csv फ़ाइलों को सही ढंग से कैसे प्रदर्शित करें?
।