एक्सेल CSV फ़ाइलों को पढ़ने या लिखने के लिए सीमांकक सेटिंग का सम्मान नहीं करता है


20

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

हालाँकि, उन सेटिंग्स में सूची separtor को बदलने के बाद, मेरा Excel CSV फ़ाइलों को अर्धविराम के साथ सहेजता रहता है। क्या यह इसलिए है क्योंकि एक्सेल स्थापित किया गया था जबकि मेरी सूची विभाजक को अर्धविराम के रूप में सेट किया गया था? या क्या कोई अन्य सेटिंग है जो मैं यहां याद कर रहा हूं?

पहले ही, आपका बहुत धन्यवाद।


क्या मौजूदा CSV फ़ाइलों को पढ़ने या सीमांकक के रूप में एक सीमांकक बनाने में समस्या है?
फिक्सर 1234

दोनों, मैंने पहले ही एक नई फ़ाइल को सहेजने से पहले @Raystafarian का उल्लेख किया है। मेरी क्षेत्रीय सेटिंग सही है। फिर मैं एक्सेल खोलता हूं और सीएसवी के रूप में सहेजता हूं और जब मैं नोटपैड में फाइल खोलता हूं तो मैं देख सकता हूं कि इसमें अर्धविराम का उपयोग किया गया था। अगर मैं एक्सेल में खोलता हूं तो यह सही ढंग से लोड होता है क्योंकि एक्सेल अभी भी ए का उपयोग करता है; स्तंभों को अलग करने के लिए।
सैंड्रा

जवाबों:


35

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


12
उत्तर को अपडेट करने के लिए समय देने के लिए धन्यवाद।
गैरी स्टूडेंट

5

बचत के लिए

आपको फ़ाइल को बचाने से पहले सूची विभाजक को भाषा और क्षेत्रीय सेटिंग्स में समायोजित करना होगा -

यहाँ छवि विवरण दर्ज करें


खोलने के लिए

डेटा पर जाएं - बाहरी डेटा प्राप्त करें - पाठ से

यहाँ छवि विवरण दर्ज करें

फ़ाइल का चयन करें

सीमांकित चुनें , अगला दबाएं यहाँ छवि विवरण दर्ज करें

और सीमांकक अल्पविराम का चयन करें

यहाँ छवि विवरण दर्ज करें

समाप्त पर क्लिक करें

यहाँ छवि विवरण दर्ज करें


या, इसे अंदर खींचें और फिर टेक्स्ट को स्तंभों का उपयोग करके यहां देखें


यदि मैं प्रश्न को सही से पढ़ता हूं, तो ऐसा लगता है कि समस्या (बचत) बना रही है, सीमांकक फ़ाइल का उपयोग सीमांकक (द्वितीय पैराग्राफ) के लिए कर रहा है।
फिक्सर 1234

@ fixer1234 हाँ, यह है कि मैं इसे पहली बार में कैसे पढ़ा। लेकिन तब मुझे लगा कि पहला पैराग्राफ महत्वपूर्ण है। मुझे नहीं पता कि कौन सा सही है। किसी भी तरह से, मेरे पास ओपी द्वारा पहले से ही कोशिश की गई चीज़ों के अलावा कोई और उपाय नहीं है।
रेस्टाफेरियन

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

0

यहाँ एक बहुत अच्छा मैक्रो है जो काफी अच्छी तरह से काम करता है:

Sub saveCSV()
File = Application.GetSaveAsFilename(InitialFileName:="file.csv", FileFilter:="CSV (*.csv), *.csv")
ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlCSV, CreateBackup:=False, local:=False
End Sub

0

यह थोड़ा पुराना है, लेकिन मैं उसी समस्या में भाग गया:
अर्धविराम ( ;) के साथ सीएसएसवी सीमांकित था । सिस्टम सेपरेटर सेटिंग्स (विंडोज) भी अर्धविराम पर सेट होती है।

  • यदि मैंने मैन्युअल रूप से CSV खोला है, तो फ़ाइल सही ढंग से अलग हो गई थी।
  • अगर मैंने VBA को खोलने दिया, तो इसे गलत तरीके से अल्पविराम से अलग कर दिया।

Delimiter:=";"स्पष्ट रूप से उपयोग केवल साथ काम करता है .txt

कैसे, Local :=Trueमेरे लिए समस्या हल करने का उपयोग कर :

Workbooks.Open(Filename:=fullpath, Local:=True)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.