Excel 2007 में CSV को लाइन ब्रेक के साथ आयात करना


129

मैं एक्सेल में खोले जाने वाले CSV फ़ाइल में खोज परिणामों को निर्यात करने की सुविधा पर काम कर रहा हूँ। खेतों में से एक एक मुक्त-पाठ क्षेत्र है, जिसमें लाइन ब्रेक, अल्पविराम, उद्धरण इत्यादि हो सकते हैं। इसका प्रतिकार करने के लिए, मैंने इस क्षेत्र को दोहरे उद्धरण चिह्नों (") में लपेटा है।

हालाँकि, जब मैं Excel 2007 में डेटा आयात करता हूं, तो उपयुक्त सीमांकक सेट करता हूं, और टेक्स्ट क्वॉलिफायर को दोहरे उद्धरण में सेट करता हूं, लाइन ब्रेक अभी भी लाइन ब्रेक पर नए रिकॉर्ड बना रहा है, जहां मैं संपूर्ण पाठ क्षेत्र को एक में देखने की उम्मीद करूंगा। एक कोशिका।

मैंने CR / LF (\ r \ n) को सिर्फ CR (\ r) से बदलने की कोशिश की है, और फिर से केवल LF (\ n) के साथ, लेकिन कोई भाग्य नहीं।

क्या किसी और को इस व्यवहार का सामना करना पड़ा है, और यदि हां, तो आपने इसे कैसे ठीक किया?

TIA,
-जे

संपादित करें:
यहाँ एक त्वरित फ़ाइल है जिसे मैंने समस्या की नकल करने के लिए हाथ से लिखा है।

ID, नाम, विवरण
"12345", "स्मिथ, जो", "हे।
मेरा नाम जो है।"

जब मैं इसे एक्सेल 2007 में आयात करता हूं, तो मैं हेडर पंक्ति और दो रिकॉर्ड के साथ समाप्त होता हूं। ध्यान दें कि "स्मिथ, जो" में अल्पविराम ठीक से संभाला जा रहा है। यह सिर्फ लाइन ब्रेक है जो समस्याएं पैदा कर रहा है।


मैंने नोटपैड ++ में सीएसवी फ़ाइल को देखा है, और सब कुछ सही प्रतीत होता है। मेरे पास कॉमा के साथ अन्य क्षेत्र हैं, और उन्हें ठीक से आयात किया जा रहा है। यह सिर्फ लाइन ब्रेक है जो समस्याएं पैदा कर रहा है।
जेरेमीमलन

4
मेरे पास मल्टी-लाइन डेटा और एक्सेल के साथ UTF8 .csv फाइलें हैं। मैंने फ़ाइल को Google डॉक्स पर अपलोड करना, एक Google शीट में खोलना, फिर एक .xls फ़ाइल के रूप में डाउनलोड करना समाप्त कर दिया। मेरे लिए इस तरह से अच्छा काम करता है।
creuzerm

जवाबों:


53

एक्सेल (एक्सपी पर कम से कम कार्यालय 2007 में) अलग-अलग तरीके से व्यवहार कर सकता है, यह इस बात पर निर्भर करता है कि सीएसवी फाइल को फाइल से खोलकर आयात किया जाता है- ओपन मेनू या एक्सप्लोरर में फाइल पर डबल-क्लिक करके।

मेरे पास एक CSV फ़ाइल है जो UTF-8 एन्कोडिंग में है और इसमें कुछ कक्षों में newlines हैं। यदि मैं एक्सेल की फाइल-> ओपन मेनू से इस फाइल को खोलता हूं, तो "CSV आयात करें" विज़ार्ड पॉप अप हो जाता है और फ़ाइल को सही तरीके से आयात नहीं किया जा सकता है: नए लिंक उद्धृत होने पर भी एक नई पंक्ति शुरू करते हैं। यदि मैं इस फाइल को एक्सप्लोरर विंडो में डबल क्लिक करके खोलता हूं, तो यह विज़ार्ड के हस्तक्षेप के बिना सही ढंग से खुलता है।


1
किसी भी विचार कैसे डबल क्लिक करने के साथ ही सेटिंग्स प्राप्त करने के लिए?
मिकिएल थलेन

7
यह सच है! कितना अजीब है।
डेविड

5
यदि आप जर्मन क्षेत्रीय सेटिंग्स का उपयोग कर रहे हैं, तो काम के लिए डबल क्लिक करने के लिए आपके सीएसवी में कॉमा (,) के बजाय अर्धविराम (;) का उपयोग करना होगा ...
user1859022

3
यह मेरे लिए सही नहीं रहा। "," परिसीमन के रूप में इसने डबल-क्लिक के साथ एक कॉलम में सब कुछ खोल दिया। साथ में ";" परिसीमन के रूप में इसे बहु-पंक्ति पाठ क्षेत्रों को छोड़कर सही ढंग से आयात किया गया था, जिसे कई रिकॉर्डों के रूप में आयात किया गया था। मेरे पास एक्सेल 2010
लेडी एडमेंको

2
@ user1859022 मैं हंगेरियन लोकेल के लिए डबल हूं। असल में दशमलव विभाजक के रूप में कॉमा का उपयोग करने वाले किसी भी लोकेल को ठीक से काम करने के लिए डबल-क्लिक csv के लिए फ़ील्ड विभाजक के रूप में अर्धविराम का उपयोग करना
पड़ता है

42

सुझाए गए किसी भी समाधान ने मेरे लिए काम नहीं किया।

वास्तव में क्या काम करता है (किसी भी एन्कोडिंग के साथ):

सीएसवी-फाइल (संपादक में खुला) से डेटा कॉपी / पेस्ट करें, फिर "कॉलम में पाठ" करें -> काम नहीं करता है, ठीक है।

अगले टैब पर जाएं और फिर से कॉपी / पेस्ट करें (वही चीज़ जो आपको अपने क्लिपबोर्ड में पहले ही मिल चुकी है) -> अब ऑटोमैटिकली काम करता है।


2
मेरे मामले में यह एक तरह से काम करता है: इसने सीएसवी को एकल रिकॉर्डों तक सही ढंग से ढहा दिया, लेकिन न्यूलाइन के क्षेत्र में सभी डेटा को हटा दिया।
लिलिएनथाल

1
यह काम किया, किसी भी विचार क्यों यह एक्सेल से सीएसवी आयात करते समय काम नहीं करता है?
राफेल सिस्टो

1
मैं पुष्टि कर सकता हूं कि यह काम करता है, आप "टेक्स्ट टू कॉलम" कमांड को दोहराए बिना अलग-अलग शीट में अधिक डेटा पेस्ट कर सकते हैं। यदि आपको कई फ़ाइलों को आयात करने की आवश्यकता है तो यह उपयोगी है।
एलेक्स

1
यह काम क्यों करता है लेकिन न तो CSV खोलना या इसे सभी उचित सेटिंग्स के साथ टेक्स्ट डेटा के रूप में जोड़ना काम नहीं करता है? पारितोषिक के लिए धन्यवाद। कॉपी / पेस्ट टीम को डेटा आयात टीम से बात करने की आवश्यकता है!
एलेक्सिस

2
पवित्र शिट। यह वास्तव में काम करता है। और यह थोड़े समझ में आता है कि क्यों। "स्तंभों पर पाठ" बनाते समय एक्सेल सेटिंग्स को याद रखता है और यह ऑटो रूपांतरित हो जाएगा। जब आपके पास पाठ पहले से ही पंक्तियों में अलग हो जाता है तो यह पंक्ति से पंक्ति को देखेगा और नई पंक्तियों को अनदेखा करेगा। मुझे लगता है कि एमएस को व्यवहार रखने या डेटा को फिर से व्यवस्थित करने के लिए एक चेकबॉक्स वाइटर को शामिल करना चाहिए। मुझे परवाह नहीं है, ... अगर गुस्सा काम करता है
user853710

28

यदि आप मैन्युअल रूप से ऐसा कर रहे हैं, तो लिबर ऑफिस को डाउनलोड करें और अपने सीएसवी को आयात करने के लिए लिब्रे ऑफिस Calc का उपयोग करें। यह एक्सेल के किसी भी संस्करण की तुलना में सामान की तरह बेहतर काम करता है, और यदि आप एक्सेल को बाद में स्थानांतरित करने की आवश्यकता है, तो इसे XLS या XLSX में सहेज सकते हैं।

लेकिन अगर आप एक्सेल के साथ फंस गए हैं और एक बेहतर फिक्स की आवश्यकता है, तो एक रास्ता लगता है। यह लोकल डिपेंडेंट (जो मेरी विनम्र राय में, मुहावरा लगता है) लगता है। मेरे पास Excel 2007 नहीं है, लेकिन मेरे पास Excel 2010 और दिए गए उदाहरण हैं:

ID,Name,Description
"12345","Smith, Joe","Hey.
My name is Joe."

काम नहीं करता है। मैंने इसे नोटपैड में लिखा और Save as ... चुना, और Save बटन के बगल में आप एन्कोडिंग चुन सकते हैं। मैंने सुझाए अनुसार UTF-8 को चुना, लेकिन कोई भाग्य नहीं था। अल्पविराम को अर्धविराम में बदलना मेरे लिए काम किया, हालाँकि। मैंने कुछ और नहीं बदला, और यह बस काम कर गया। इसलिए मैंने ऐसा दिखने के लिए उदाहरण बदल दिया, और नोटपैड में बचत करते समय UTF-8 एन्कोडिंग को चुना:

ID;Name;Description
"12345";"Smith, Joe";"Hey.
My name is Joe."

लेकिन एक पकड़ है! यदि आप Excel में इसे खोलने के लिए CSV फ़ाइल को डबल-क्लिक करते हैं तो यह एकमात्र तरीका है। यदि मैं पाठ से डेटा आयात करने का प्रयास करता हूं और इस CSV को चुना है, तो यह अभी भी उद्धृत नई सुर्खियों में विफल है।

लेकिन एक और है पकड़ है! कार्य क्षेत्र विभाजक (मूल उदाहरण में अल्पविराम, मेरे मामले में अर्धविराम) सिस्टम की क्षेत्रीय सेटिंग्स (नियंत्रण कक्ष -> क्षेत्र और भाषा के तहत सेट) पर निर्भर करता है। नॉर्वे में, अल्पविराम दशमलव विभाजक है। एक्सेल इस चरित्र से बचने के लिए लगता है और इसके बजाय अर्धविराम पसंद करता है। मेरे पास एक और कंप्यूटर है जो यूके इंग्लिश लोकेल पर सेट है, और उस कंप्यूटर पर, कॉमा सेपरेटर के साथ पहला उदाहरण ठीक काम करता है (केवल डबलक्लिक पर), और सेमीकॉलन वाला वास्तव में विफल रहता है! इंटरऑपरेबिलिटी के लिए बहुत कुछ। यदि आप इस CSV को ऑनलाइन प्रकाशित करना चाहते हैं और उपयोगकर्ताओं के पास एक्सेल हो सकता है, तो मुझे लगता है कि आपको दोनों संस्करणों को प्रकाशित करना होगा और सुझाव देना होगा कि लोग यह जांचते हैं कि कौन सी फ़ाइल सही संख्या में पंक्तियाँ देती है।

इसलिए सभी विवरण जो मुझे काम करने के लिए इकट्ठा करने में सक्षम हैं, वे हैं:

  1. फ़ाइल को एक BOM के साथ UTF-8 के रूप में सहेजा जाना चाहिए, जो कि जब आप UTF-8 चुनते हैं तो नोटपैड करता है। मैंने बिना BOM के UTF-8 की कोशिश की (नोटपैड ++ में आसानी से स्विच किया जा सकता है), लेकिन फिर दस्तावेज़ पर डबल-क्लिक करना विफल हो जाता है।
  2. आपको कॉमा या अर्धविराम विभाजक का उपयोग करना चाहिए, लेकिन वह नहीं जो आपकी क्षेत्रीय सेटिंग्स में दशमलव विभाजक है। शायद अन्य पात्र काम करते हैं, लेकिन मुझे नहीं पता कि कौन सा है।
  3. आपको उन फ़ील्ड्स को उद्धृत करना होगा जिनमें "वर्ण" के साथ एक नई रेखा है।
  4. मैंने पाठ क्षेत्र में और रिकॉर्ड विभाजक के रूप में, काम करने वाले दोनों के लिए विंडोज लाइन-एंडिंग (\ r \ n) का उपयोग किया है।
  5. आपको इसे खोलने के लिए फ़ाइल पर डबल-क्लिक करना होगा, पाठ से डेटा आयात करना काम नहीं करता है।

आशा है कि यह किसी की मदद करता है।


इसके अलावा, @sdplus द्वारा बताई गई ट्रिक काम करने लगती है! मुझे लगता है कि ऐसा क्या होता है कि जब आप पहली बार "स्तंभों पर पाठ" करते हैं और पैंतरेबाज़ी करते हैं, तो आप एक्सेल में उद्धरण और क्षेत्र विभाजक सामग्री को कॉन्फ़िगर कर रहे हैं। दूसरी बार जब आप पेस्ट करते हैं, तो यह इस कॉन्फ़िगरेशन का उपयोग करता है, और कॉन्फ़िगरेशन के आधार पर कॉलम में डेटा को सही ढंग से विभाजित करता है। लेकिन यह एक बहुत ही मैनुअल दृष्टिकोण है।
ketil

हां, हर बार जब आप पाठ को आयात करते हैं या किसी पाठ को कॉलम में करते हैं, तो आप दिए गए सत्र में कॉपी / पेस्ट कैसे काम करेंगे, इसकी पुनरावृत्ति करते हैं। यह आपके द्वारा बनाई गई नई कार्यपुस्तिकाओं पर भी लागू होता है, जब तक आप एक्सेल को बंद नहीं करते। यह निराशाजनक भी हो सकता है। एक बार जब आप आयात के लिए दिए गए विभाजक का उपयोग करते हैं, तो यह आपके पाठ को अलग कर देगा, भले ही आप किसी कक्ष में एक वाक्य चिपकाना चाहते हों। आपको एक विभाजक के रूप में टैब के साथ आयात को फिर से करना होगा, या इसे रोकने के लिए एक्सेल को पुनरारंभ करना होगा।
रोबोटिक

आपकी चाल वास्तव में काम करने लगती है। लेकिन ऐसा लगता है कि अर्धविराम का समाधान से कोई लेना-देना नहीं है। समस्या यह है, कि एक्सेल सीएसवी फाइलों को क्षेत्रीय सेटिंग्स के आधार पर अलग तरह से मानता है। मैं जर्मनी से हूं, और मेरे लिए एक्सेल से सीएसवी फाइलों में हमेशा कॉमा की बजाय अर्धविराम होते हैं (इसका कारण यह है, कि जर्मनी में दशमलव सेपरेटर बिंदु के बजाय कॉमा है)। वास्तविक समाधान यह प्रतीत होता है, कि Excel CSV फ़ाइलों को अन्य सभी पाठ फ़ाइलों की तुलना में पूरी तरह से अलग करता है। इसलिए CSV फाइलें जिनमें कोटेशन के बीच में लाइन ब्रेक होता है, काम करने लगता है। अन्य सभी पाठ फ़ाइलें नहीं हैं।
मार्टिनी बियांको

@ मार्टिनी, हाँ, मेरे पास नॉर्वेजियन एक्सेल है और हम कॉमा को दशमलव विभाजक के रूप में भी उपयोग करते हैं, इसलिए मैंने उल्लेख किया है कि यह क्षेत्रीय सेटिंग्स पर निर्भर करता है (हालांकि मैंने इसे लोकेल के रूप में संदर्भित किया है)। शायद मुझे स्पष्टता के लिए फिर से लिखना चाहिए।
ketil

यह उन क्षेत्रों के सभी लोगों के लिए उत्तर है जहां अल्पविराम दशमलव विभाजक है। ध्यान दें कि इन क्षेत्रों के लिए, Excel अर्धविराम का उपयोग सूत्र तर्क विभाजक (के =FOO(1;2)बजाय =FOO(1,2)) के रूप में भी करता है , लेकिन स्पष्ट रूप से यह गलत है कि Excel इसे फ़ाइल स्वरूप पार्सर पर लागू करता है (जो अन्य प्रोग्राम स्थानीय फ़ाइल पर निर्भर मानक फ़ाइल स्वरूप को पार्स करता है ??? )
लेमेस

25

मैं अंत में समस्या मिल गया है!

यह पता चला है कि हम ASCII या UTF-8 के बजाय यूनिकोड एन्कोडिंग का उपयोग करके फाइल लिख रहे थे। FileStream पर एन्कोडिंग को बदलने से समस्या का समाधान होता है।

आपके सभी सुझावों के लिए सभी को धन्यवाद!


29
ASCII एन्कोडिंग मुझे (MacOS पर) के लिए समस्या को ठीक करने के लिए प्रतीत नहीं हुआ, और मेरे पास एक अग्रणी स्थान नहीं है और मेरा क्षेत्र उद्धृत है। ठीक वही डॉक्स Google डॉक्स में ठीक आयात करता है। कितनी निराशा होती है। BTW, "यूनिकोड" एन्कोडेड टेक्स्ट फाइल जैसी कोई चीज नहीं है। इसे यूनिकोड (UTF-8, UTF-16, UTF-32, इत्यादि) के कार्यान्वयन में से एक होना चाहिए
बेन

11
समाधान के लिए धन्यवाद। मैं अभी भी उत्सुक था कि उत्तर क्या है इसलिए मैंने एक्सेल में एक लाइन ब्रेक के साथ एक सीएसवी बनाने की कोशिश की और देखा कि यह क्या बचा है। मैं बताता हूं कि Excel सेल में एक नई लाइन के लिए केवल एक लाइन फ़ीड का उपयोग करता है। अगर मैं नोटपैड में एक ही सीएसवी बनाने की कोशिश करता हूं, तो यह लाइन ब्रेक के लिए लाइन फीड + कैरिज रिटर्न का उपयोग करेगा। तो एक ही सेल में लाइन ब्रेक के लिए, सुनिश्चित करें कि यह केवल एक लाइन फीड (LF या \ n) का उपयोग कर रहा है, न कि एक गाड़ी वापसी (CR या \ r)। Excel एक पंक्ति को समाप्त करने के लिए दोनों का उपयोग करता है।
xr280xr

1
ASCII एन्कोडिंग ने मेरे लिए समस्या को ठीक नहीं किया - एक्सेल 2000, विंडोज 7.
क्रिसजे

1
Macintosh पर OS X के लिए, "विंडोज कोमा सेपरेटेड (सीएसवी)" के रूप में सहेजें। इससे लाइन ब्रेक के बजाय नई धाराएं जुड़ती हैं। इसे "स्पेशल फॉर्मेट्स" के तहत प्रारूपों के लिए ड्रॉप डाउन मेनू में सूचीबद्ध किया जाएगा।
टैको

यूनिकोड एन्कोडिंग का उपयोग किसके लिए किया जाना चाहिए (UTF-8, UTF-16)?
लेडी एडमेंको

7

संक्षिप्त जवाब

नई लाइन / नोटफ़ीड वर्ण ( \nनोटपैड ++ के साथ) निकालें । एक्सेल अभी भी \rअलग-अलग रिकॉर्ड के लिए कैरिज रिटर्न चरित्र ( ) को पहचानेगा ।

लंबा जवाब

जैसा कि उल्लेख किया गया है कि newline वर्ण CSV फ़ील्ड्स के अंदर समर्थित हैं, लेकिन Excel हमेशा उन्हें इनायत से नहीं संभालता है। मुझे तीसरे पक्ष के सीएसवी के साथ इसी तरह के मुद्दे का सामना करना पड़ा जिसमें संभवतः एन्कोडिंग मुद्दे थे लेकिन एन्कोडिंग परिवर्तनों के साथ सुधार नहीं हुआ।

मेरे लिए जो काम किया गया था वह सभी न्यूलाइन वर्णों ( \n) को हटा रहा था । यह एक रिकॉर्ड को खेतों के ढहने का प्रभाव है, यह मानते हुए कि आपके रिकॉर्ड को एक गाड़ी वापसी और एक नई लाइन (सीआर / एलएफ) के संयोजन से अलग किया जाता है। फिर Excel फ़ाइल को ठीक से आयात करेगा और गाड़ी के रिटर्न द्वारा नए रिकॉर्ड को पहचान सकता है।

स्पष्ट रूप से एक क्लीनर समाधान पहली बार असली नईलाइन्स ( \r\n) को एक अस्थायी चरित्र संयोजन के साथ बदलना है, नएलाइन्स ( \n) को आपके पसंद के अलग-अलग चरित्र के साथ बदलना (जैसे अर्धविराम फ़ाइल में अल्पविराम) और फिर अस्थायी पात्रों को फिर से नए वर्णों के साथ बदलना।


1
मेरे पास विपरीत स्थिति थी: \nलाइनों और \r\nअंदर मूल्यों के बीच । बस नोटपैड ++ में बाद को छीन लिया।
Rarst

5

जे एश्ले की टिप्पणी पर +1। मैं इस समस्या में भी भाग गया। यह पता चला है कि एक्सेल की आवश्यकता है:

  • उद्धृत स्ट्रिंग में एक नया रेखा वर्ण ("\ n")

  • प्रत्येक पंक्ति के बीच एक गाड़ी वापसी और नई लाइन।

जैसे "टेस्ट", "मल्टीलाइन आइटम \ n मल्टीलाइन आइटम" \ r \ n "टेस्ट 2", "मल्टीलाइन आइटम \ n मल्टीलाइन आइटम" \ r \ n

मैंने नोटपैड ++ का उपयोग प्रत्येक पंक्ति को ठीक से परिसीमित करने और केवल स्ट्रिंग में नईलाइन्स का उपयोग करने के लिए किया। एक खाली एक्सेल डॉक में मल्टीलाइन प्रविष्टियाँ बनाकर और नोटपैड ++ में सीएसवी को खोलकर इसकी खोज की।


यह मेरे लिए केवल एक मल्टीलाइन आइटम और एक पंक्ति विभाजक दोनों के रूप में नईलाइन वर्ण के साथ काम करता है, एक बार जब मैं अपने लोकेल के अनुसार क्षेत्र विभाजक सेट करता हूं
रोबोटिक

4

यदि फ़ील्ड में एक अग्रणी स्थान होता है, तो Excel टेक्स्ट क्वॉलिफायर के रूप में दोहरे उद्धरण की उपेक्षा करता है। समाधान अल्पविराम (क्षेत्र विभाजक) और दोहरे-उद्धरण के बीच प्रमुख रिक्त स्थान को समाप्त करना है। उदाहरण के लिए:

टूटी:
नाम, शीर्षक, विवरण
"जॉन", "श्री", "मेरा विस्तृत विवरण"

कार्य:
नाम, शीर्षक, विवरण
"जॉन", "श्री", "मेरा विस्तृत विवरण"


2
हालांकि, मैं मानता हूं कि मेरे आउटपुट में कोई अग्रणी स्थान नहीं है। कोई विचार?
जेरेमीमलन

हमें टूटी हुई रेखा की आवश्यकता है :(
ल्यूक

4

Google शीट का उपयोग करें और CSV फ़ाइल आयात करें।

फिर आप एक्सेल में उपयोग करने के लिए निर्यात कर सकते हैं


1
अच्छा सुझाव! यदि आप अपनी CSV को किसी तृतीय पक्ष सेवा (यानी गैर-गोपनीय डेटा) पर अपलोड करने के साथ ठीक हैं, तो यह सबसे सुविधाजनक रूपांतरण विधि है। ध्यान दें कि आपको आयात करने के लिए मैन्युअल रूप से सीमांकक सेट करना पड़ सकता है। और आपको सही ढंग से प्रदर्शित करने के लिए परिणामस्वरूप एक्सेल फ़ाइल में सेल आकार को समायोजित करने की आवश्यकता हो सकती है।
m32

ब्राउज़र में Office 365 में Excel के साथ भी काम करता है। मैं डेस्कटॉप एक्सेल एप्लिकेशन (इस पेज से अधिकांश सुझावों की कोशिश कर रहा) के साथ कोशिकाओं के अंदर लाइन ब्रेक के साथ एक सीएसवी को ठीक से नहीं खोल सकता था, लेकिन ऑफिस डॉट कॉम पर एक्सेल ठीक से इसे खोल सकता था।
जॉर्ज डब्लू।

3

अगर कोई भी इस धागे को ठोकर मारता है और एक निश्चित उत्तर की तलाश में है, तो इसका श्रेय जाता है (लिब्रे ऑफिस का उल्लेख करने वाले व्यक्ति को):

1) LibreOffice 2 स्थापित करें) Calc खोलें और फ़ाइल आयात करें 3) मेरी txt फ़ाइल के द्वारा अलग किए गए फ़ील्ड थे, और वर्ण फ़ील्ड "4 में संलग्न" ODS फ़ाइल के रूप में सहेजें 5) Excel 6 में ODS फ़ाइल खोलें) .xls (x) के रूप में सहेजें। 7) हो गया। 8) इसने मेरे लिए पूरी तरह से काम किया और मुझे बचा लिया!


3
ODS के रूप में बचाने के लिए कोई ज़रूरत नहीं है, लिबरऑफिस xls (x) को मूल रूप से बचा सकता है
रोबोटिक

2

नोटपैड ++ में पेस्ट करें, एन्कोडिंग> एएनएसआई में एनकोड करें, फिर से कॉपी करें और एक्सेल में पेस्ट करें :)


2

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। मेरा MySQL में कुछ ट्विटर डेटा था। डेटा में डेटा के साथ लाइन फीड (LF या \ n) था। मुझे MySQL डेटा को एक्सेल में निर्यात करने की आवश्यकता थी। LF सीएसवी फ़ाइल के मेरे आयात को गड़बड़ कर रहा था। तो मैंने निम्नलिखित किया -

1. From MySQL exported to CSV with Record separator as CRLF
2. Opened the data in notepad++ 
3. Replaced CRLF (\r\n) with some string I am not expecting in the Data. I used ###~###! as replacement of CRLF
4. Replaced LF (\n) with Space
5. Replaced ###~###! with \r\n, so my record separator are back.
6. Saved and then imported into Excel

नोट- CRLF या LF की जगह करते समय चेक किए गए (\ n, \ r, \ t ... चेकबॉक्स को मत भूलना [डायलॉग बॉक्स के बाएँ हाथ के नीचे देखें)


2

फ्रेंच क्षेत्रीय सेटिंग्स के साथ WinXP पर एक्सेल 2010 के साथ मेरा अनुभव

  • आपके आयातित सीएसवी का विभाजक आपकी क्षेत्रीय सेटिंग्स के सूची विभाजक के अनुरूप होना चाहिए (मेरे मामले में)
  • आपको एक्सप्लोरर से फाइल पर डबल क्लिक करना होगा। इसे एक्सेल से न खोलें

1

CSV से निपटने के दौरान एक्सेल अविश्वसनीय रूप से टूट जाता है। लिब्रे ऑफिस बहुत बेहतर काम करता है। तो, मुझे पता चला कि:

  • फ़ाइल को BOM के साथ UTF-8 में एन्कोड किया जाना चाहिए, इसलिए नीचे दिए गए सभी बिंदुओं पर विचार करें
  • सबसे अच्छा परिणाम, अब तक, इसे फ़ाइल एक्सप्लोरर से खोलकर प्राप्त किया जाता है
  • यदि आप इसे एक्सेल के भीतर से खोलते हैं तो दो संभावित परिणाम हैं:
    • यदि इसमें केवल ASCII वर्ण हैं, तो यह सबसे अधिक संभावना है
    • यदि इसमें गैर-एएससीआईआई अक्षर हैं, तो यह आपकी लाइन को गड़बड़ कर देगा
  • यह ओएस की क्षेत्रीय सेटिंग्स में कॉन्फ़िगर किए गए दशमलव विभाजक पर बहुत अधिक निर्भर लगता है, इसलिए आपको सही एक का चयन करना होगा
  • मैं शर्त लगाता हूं कि यह ओएस और ऑफिस संस्करण के आधार पर भी अलग तरह से व्यवहार कर सकता है

आप लिबर ऑफिस पर जोर दे रहे हैं , एक्सेल से बेहतर अनुमानक है, है ना? जब तक आप अनुमान लगाने के लिए नहीं कहते हैं, तब तक टेक्स्ट फ़ाइलों को आयात करते समय Excel सभी सही प्रश्न पूछता है।
टॉम ब्लोडेट

1
धन्यवाद! यह नोटपैड ++ द्वारा मेरे CSV को "UTF-8 को BOM के बिना" से "UTF-8 को BOM" (सिर्फ मेनू में सरल "UTF-8") में बदलने में मदद करता है। तब मैंने इसे एक्सप्लोरर से खोला और एक्सेल ने इसे सही प्रतीकों और कोशिकाओं के अंदर सही लाइन ब्रेक के साथ उचित तरीके से दिखाया। जब मैंने एक्सप्लोरर एक्सेल आयातित लाइन से डिफ़ॉल्ट रूप से "यूटीएफ -8 बिना बीओएम" एन्कोडिंग को सही ढंग से खोला, लेकिन गैर-लैटिन प्रतीकों को गलत तरीके से प्रदर्शित करता है। अगर मैंने इसे एक्सेल से खोला, तो यह सही तरीके से एन्कोडिंग दिखा, लेकिन लाइन ब्रेक के साथ सामना नहीं किया।
सेर्गेई बेलोग्लाज़ोव

1

अवलोकन

मूल पोस्ट के लगभग 10 साल बाद, Excel ने CSV फ़ाइलों को आयात करने में सुधार नहीं किया है। हालाँकि, मैंने पाया कि HTML तालिकाओं को आयात करने में यह बेहतर है। इसलिए, कोई CSV को HTML में बदलने के लिए अजगर का उपयोग कर सकता है और फिर परिणामी HTML को Excel में आयात कर सकता है।

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

कदम

जब तक पायथन 3 स्थापित किया जाता है तब तक निम्न चरणों को किसी भी बैश जैसे शेल पर चलाया जा सकता है। हालाँकि पाइथन का उपयोग सीधे CSV को पढ़ने के लिए किया जा सकता है, लेकिन csvkit का उपयोग JSON में मध्यवर्ती रूपांतरण करने के लिए किया जाता है। यह हमें अपने पायथन कोड में CSV पेचीदगियों से निपटने के लिए अनुमति देता है।

सबसे पहले, निम्न स्क्रिप्ट को इस रूप में सहेजें json2html.py। स्क्रिप्ट स्टड से JSON फ़ाइल पढ़ती है और इसे HTML तालिका के रूप में प्रदर्शित करती है:

#!/usr/bin/env python3
import sys, json, html

if __name__ == '__main__':
    header_emitted = False
    make_th = lambda s: "<th>%s</th>" % (html.escape(s if s else ""))
    make_td = lambda s: "<td>%s</td>" % (html.escape(s if s else ""))
    make_tr = lambda l, make_cell: "<tr>%s</tr>" % ( "".join([make_cell(v) for v in l]) )
    print("<html><body>\n<table>")
    for line in json.load(sys.stdin):
        lk, lv = zip(*line.items())
        if not header_emitted:
            print(make_tr(lk, make_th))
            header_emitted = True
        print(make_tr(lv, make_td))
    print("</table\n</body></html>")

फिर, एक आभासी वातावरण में csvkit स्थापित करें और csvjsonहमारी स्क्रिप्ट को इनपुट फ़ाइल खिलाने के लिए उपयोग करें। -Iतर्क के साथ सेल प्रकार अनुमान लगाने को अक्षम करना एक अच्छा विचार है :

$ virtualenv -p python3 pyenv
$ . ./pyenv/bin/activate
$ pip install csvkit
$ csvjson -I input.csv | python3 json2html.py > output.html

अभी output.html एक्सेल में आयात किया जा सकता है। कोशिकाओं में लाइन ब्रेक को संरक्षित किया गया होगा।

वैकल्पिक रूप से, आप अपने पायथन वर्चुअल वातावरण को साफ करना चाहते हैं:

$ deactivate
$ rm -rf pyenv

1

यह एक्सेल 2016 के लिए है:

एक्सेल विजार्ड के साथ एक सीएसवी फ़ाइल के अंदर लाइन ब्रेक के साथ बस एक ही समस्या थी।

बाद में मैं इसे "नई क्वेरी" फ़ीचर: डेटा -> नई क्वेरी -> फ़ाइल से - CSV से -> फ़ाइल चुनें -> आयात -> लोड के साथ कोशिश कर रहा था

यह पूरी तरह से काम कर रहा था और आप सभी के लिए एक बहुत ही त्वरित समाधान है जिसमें एक ही समस्या है।


0

सिर्फ मेरे लिए क्या काम किया, एक्सेल में आयात करना सीधे प्रदान किया कि आयात सीएसवी प्रारूप के बजाय एक पाठ प्रारूप के रूप में किया जाता है। म/


0

बस लाइनब्रेक के साथ कोशिकाओं के साथ एक नई शीट बनाएं, इसे csv पर सहेजें फिर इसे एक संपादक के साथ खोलें जो लाइन वर्णों (जैसे नोटपैड ++) के अंत को दिखा सकता है। ऐसा करने से आप देखेंगे कि सेल में एक लाइनब्रेक को LF के साथ कोडित किया गया है, जबकि लाइन का "वास्तविक" अंत SRF के साथ कोड है। Voilà, अब आप जानते हैं कि एक्सेल के लिए "सही" सीएसवी फ़ाइल कैसे बनाई जाती है।


0

मुझे भी यह समस्या थी: यानी, सीएसवी फाइलें (अल्पविराम सीमांकित, दोहरा उद्धरण सीमांकित तार) एलएफ के साथ उद्धृत स्ट्रिंग में। इन्हें स्क्वायर फाइल्स डाउनलोड की गईं। मैंने एक डेटा आयात किया, लेकिन पाठ फ़ाइलों के रूप में आयात करने के बजाय, "HTML से आयात किया गया"। इस बार इसने उद्धृत तारों में LF की उपेक्षा की।


0

यह मैक पर काम करता है, सीएसवी का उपयोग कर रहा है और एक्सेल में फ़ाइल खोल रहा है।

सीएसवी फ़ाइल लिखने के लिए अजगर का उपयोग करना।

data = '' सेल a1 \ r 2nd लाइन इन सेल a1 \ r 3rd लाइन इन सेल a1 "," सेल b1 "," सेल c1 \ r 2 लाइन में सेल c1 \ n "में पहली लाइन" n n "में पहली लाइन सेल a2 "\ n '

file.write (डेटा)


0

MacOS पर संख्याओं का उपयोग करके देखें

यदि आपके पास मैक ओएस तक पहुंच है, तो मैंने पाया है कि ऐप्पल स्प्रेडशीट नंबर एक जटिल मल्टी-लाइन सीएसवी फ़ाइल को अनपैक करने का एक अच्छा काम करता है जिसे एक्सेल संभाल नहीं सका। बस .csvसंख्याओं के साथ खोलें और फिर Excel में निर्यात करें।


0

मेरे मामले में नोटपैड ++ में सीएसवी खोलने और SEP=","पहली पंक्ति के रूप में जोड़ने से मुझे बिना किसी समस्या के एक्सेल में लाइन ब्रेक और utf-8 के साथ CSV खोलने की अनुमति मिलती है


0

विभाजक को TAB (\ t) के स्थान पर अल्पविराम (,) से बदलें। फिर अपने संपादक (नोटपैड आदि) में फ़ाइल खोलें, वहां से सामग्री को कॉपी करें, फिर इसे एक्सेल फ़ाइल में पेस्ट करें।


इसे बड़ी फ़ाइलों पर आज़माएँ :)
chukko

-1

डबल कोट्स के अंदर लाइन ब्रेक सीएसवी मानक के अनुसार पूरी तरह से ठीक हैं। एक्सेल में लाइन ब्रेक का पार्सिंग सूची विभाजक के ओएस सेटिंग पर निर्भर करता है:

  1. विंडोज: आपको कॉम्पीटर को कॉमा (क्षेत्र और भाषा »प्रारूप» उन्नत) स्रोत सेट करने की आवश्यकता है: स्रोत: /superuser/238944/how-to-force-excel-to-open-csv-files- साथ-डेटा-व्यवस्था की-इन-स्तंभों # जवाब-633,302

  2. Mac: क्षेत्र को यूएस में बदलने की आवश्यकता है (तब मैन्युअल रूप से अपनी प्राथमिकता में अन्य सेटिंग्स को बदलने के लिए) स्रोत: https://answers.microsoft.com/en-us/mac/forum/macoffice2016-macexcel/line-sexator-comma -sicicolon-in-excel-2016 / for / 7db1b1a0-0300-44ba-ab9b-35d1c40159c6 (न्यूमैनली का उत्तर देखें)

फिर से कोशिश करने से पहले एक्सेल को पूरी तरह से बंद करना न भूलें।

मैंने सफलतापूर्वक इस मुद्दे को दोहराया है और इसे मैक्स और विंडोज दोनों में ऊपर का उपयोग करके ठीक करने में सक्षम था।


मुझे नहीं लगता कि यह काम करता है। मैंने एक्सेल से ही कोशिकाओं में लाइन ब्रेक के साथ एक सीएसवी का निर्यात किया। चूंकि लोकल नहीं बदला, इसलिए एक्सेल को इसे सही तरीके से लोड करने में सक्षम होना चाहिए था। लेकिन ऐसा नहीं हो सकता। यह अभी भी कोशिकाओं में लाइन टूटने के साथ गड़बड़ करता है।
11:000 बजे m000
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.