2011-06-29 6 views
11

मैं सी # का उपयोग कर एक सीएसवी फ़ाइल बनाना चाहता हूं।एकाधिक लाइनों पर डेटा कैसे लिखें लेकिन सीएसवी के उसी सेल के भीतर?

मेरे पास कुछ डेटा है जो मैं कई पंक्तियों पर लिखना चाहता हूं लेकिन उसी सेल के भीतर।

उदाहरण के लिए मैं तीन वाक्य निम्नलिखित किया है,

Sample sentence 1. This is second sample sentence. and this is third sentence. 

मैं इन सभी तीन csv फ़ाइल के एक सेल में वाक्य लिखना चाहते हैं लेकिन मैं अलग पंक्ति में उनमें से तीन चाहते हैं।

मेरे अपेक्षित आउटपुट है:

Sample sentence 1. 
This is second sample sentence. 
and this is third sentence. 

वर्तमान में मैं दो वाक्यों के बीच \n चरित्र का उपयोग करके इस लक्ष्य को हासिल करने के लिए कोशिश कर रहा हूँ लेकिन जब मैं इसे इस तरह करते हैं, सभी तीन वाक्य अलग पंक्ति में चले जाते हैं।

क्या कोई मुझे बता सकता है कि इस समस्या को हल करने के लिए कैसे?

उत्तर

18

quote Wikipedia करने के लिए: एम्बेडेड लाइन टूट के साथ

फील्ड्स दोहरे-उद्धरण पात्रों के भीतर संलग्न किया जाना चाहिए।

, उदा, जैसा .:

1997,Ford,E350,"Go get one now 
they are going fast" 
0

आप सीएसवी फ़ाइल से पंक्तियों को पार्स करने के लिए आपके एप्लिकेशन का उपयोग करने वाले टोकन को बदलने में सक्षम हो सकते हैं, लेकिन definition of the csv file format के अनुसार, फ़ाइल में रेखाएं परिणामस्वरूप टैब्यूलर डेटा में पंक्तियों का प्रतिनिधित्व करने के लिए उपयोग की जाती हैं।

0

सीएसवी के लिए "अल्पविराम द्वारा अलग मूल्यों" जो सिर्फ एक पाठ-फ़ाइल का वर्णन है खड़ा है। आप की कोशिश करनी चाहिए आप Excel में आयात करने और उसके बाद ही एक पंक्ति में वाक्य है चाहते हैं: एक साधारण /n

+2

शायद '\ n', नहीं '/ n'? – abatishchev

-2

की

Environment.NewLine 

instread मैं इन तीनों का एक सेल में वाक्य लिखना चाहते हैं csv फ़ाइल लेकिन अलग पंक्ति में मैं उन्हें के तीन चाहते

एक CSV फ़ाइल अल्पविराम के द्वारा अलग कोशिकाओं के साथ, एक पंक्ति पंक्ति में परिभाषित किया गया है (",")। अब, आपका पार्सर एक सेल में वाक्यों को एक साथ रखने के लिए "" का समर्थन कर सकता है, लेकिन यह पहले ही विनिर्देश को फैलाता है। आप \ n को एन्कोड भी कर सकते हैं और इसे बाद में डीकोड कर सकते हैं, लेकिन फिर यह एक vcsv फ़ाइल नहीं है। अंत में, आप कुछ ऐसा करने की कोशिश करते हैं जो एक सीएसवी फ़ाइल प्रति परिभाषा परिभाषित नहीं है। \ n नया लाइन प्रतीक है। वास्तव में एक संपादक यहां एक नई लाइन दिखाएगा।

0
string input = "..."; 

var r = input.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries) // split by dot (have you any better approaches?) 
      .Select(s => String.Format("\"{0}.\"", s.Trim())); // escape each with quotes 

input = String.Join(Environment.NewLine, r); // break by line break 
संबंधित मुद्दे