CSV युक्ति मुझे लगता है कि इसे कई अलग-अलग तरीकों से लागू किया गया है... यह मूल रूप से ऐसा लगता है कि यह केवल आधी-अधूरी है जो इसकी लोकप्रियता को देखते हुए निराशाजनक है।
सीएसवी में एक सेल के भीतर एक नई लाइन शामिल करने के लिए सेल को लपेटने की आवश्यकता हो सकती है, या नई लाइन से बचने की आवश्यकता हो सकती है। लिंक किए गए दस्तावेज़ से आप देखेंगे कि ऐसा करने के तीन तरीके हैं - और अलग-अलग प्रोग्राम अलग-अलग तरीके से इसका इलाज करते हैं:
- एक्सेल पूरे सेल को दोहरे उद्धरण चिह्नों में लपेटता है:एक सेल में (अनसेप्ड) न्यूलाइन वर्ण हो सकते हैं और इसे एकल सेल माना जा सकता है, जब तक कि यह दोहरे उद्धरण चिह्नों में लिपटा हो (ध्यान दें कि आपको एक्सेल-शैली का उपयोग करने की आवश्यकता होगी सेल सामग्री के भीतर से बचने वाला दोहरा उद्धरण)
- अन्य प्रोग्राम वर्ण से पहले एक बैकस्लैश डालते हैं, इसलिए
\
में समाप्त होने वाली एक पंक्ति एक पंक्ति का अंत नहीं माना जाता है, बल्कि सेल के भीतर एक न्यूलाइन वर्ण माना जाता है। एक सेल में न्यूलाइन कैरेक्टर तब तक अनसेप्ड हो सकते हैं जब तक कि वे बैकस्लैश कैरेक्टर से पहले न हों। - अन्य अभी भी सी-शैली के चरित्र से बचने के साथ एक नई पंक्ति की जगह लेते हैं, वास्तविक वर्ण अनुक्रम
\n
या\r\n
. इस मामले में सेल पूरी तरह से न्यूलाइन वर्णों से बच गया है।
समस्या नियंत्रण वर्णों (साथ ही अन्य सामग्री (जैसे "
से बचने की संभावित आवश्यकता से जटिल है #1 में, और \
#2+3 में) और भागने की विभिन्न शैलियों (उदाहरण के लिए, एक एम्बेडेड उद्धरण से बच सकते हैं:डबल डबल कोट ""
या बैकस्लैश-डबल कोट \"
)
मेरी सलाह :एक ओपन-ऑफ़िस दस्तावेज़ जेनरेट करें जिसमें कई लाइनें और मुख्य एस्केप वर्ण हों और देखें कि ओपन-ऑफ़िस कैसे एक CSV
उत्पन्न करता है फ़ाइल। वहां से आप यह तय कर सकते हैं कि उपरोक्त विधियों में से कौन सी सेल के भीतर न्यूलाइन्स के लिए उपयोग करना है, और कौन सी एस्केपिंग विधि है।
शैली-1 का उदाहरण (एक्सेल):
#num,str,num
1,"Hello
World",1990
2,"Yes",1991
शैली-2 का उदाहरण:
#num,str,num
1,Hello \
Word,1990
2,Yes,1991
शैली-3 का उदाहरण:
#num,str,num
1,Hello \nWorld,1990
2,Yes,1991