Excel फ़ाइल को यूनिकोड के रूप में सहेजते समय दोहरे उद्धरण चिह्नों से कैसे बचें?


9

मेरे पास एक एक्सेल फाइल है जिसमें यूनिकोड की सामग्री है जिसमें कुछ कोशिकाओं में दोहरे उद्धरण के अंदर पाठ है, उदाहरण के लिए "text"

जब मैं एक्सेल फाइल को यूनिकोड फॉर्मेट में टेक्स्ट फाइल में सेव करता हूं, तो जिस टेक्स्ट में डबल कोट होता है उसे उदाहरण के लिए तीन डबल कोट्स के रूप में सेव किया जाता है """text"""

कुछ ऐसे स्थान हैं जहाँ मेरे पास पाठ भी है जिसमें अल्पविराम (,) है। उदाहरण के लिए, text,जिसे "text,"यूनिकोड फ़ाइल में परिवर्तित किया गया है। यह पाठ में दोहरे उद्धरण जोड़ रहा है, जो मुझे लगता है कि इसमें विशेष वर्ण हैं।

इससे कैसे बचा जा सकता है?

जवाबों:


7

यह मानक व्यवहार है (और CSV फ़ाइलों को सहेजने के तरीके के समान)। RFC 4180 देखें - कॉमा-सेपरेटेड वैल्यूज़ (CSV) फ़ाइलों के लिए सामान्य प्रारूप और माइम प्रकार :

यदि डबल-कोट्स का उपयोग खेतों को घेरने के लिए किया जाता है, तो किसी फ़ील्ड के अंदर दिखाई देने वाले दोहरे-उद्धरण को दूसरे दोहरे उद्धरण से पहले ले जाने से बचना चाहिए।

आपके मामले में यह कैसे लागू होता है?

  • इसका मतलब यह है कि फ़ील्ड के परिसीमन के रूप में "Text" सहेजा जाना चाहिए"""Text""" , और आपके पाठ क्षेत्र के लिए आपके द्वारा उपयोग किए गए वास्तविक उद्धरणों से बचने के लिए दो अन्य उद्धरणों का उपयोग किया जाता है। अन्यथा, "Text"बस के रूप में पार्स किया जाएगा Textऔर फ़ाइल को फिर से खोलते समय आप अपने उद्धरण खो देंगे।

  • एक्सेल को भी उद्धृत करना चुनता है Text,, क्योंकि अल्पविराम से अलग की गई फ़ाइलों में अल्पविराम को सीमांकक के रूप में प्रयोग किया जाता है, और इसे उद्धरणों में संलग्न नहीं करने का मतलब होगा कि text,जब आप फ़ाइल को दोबारा खोलते हैं तो इसे दो क्षेत्रों के रूप में पार्स किया जाता है।

यदि आप उन्हें अपने आउटपुट में नहीं चाहते हैं, तो टेक्स्ट एडिटर में परिणामी फाइलों को खोलने और एक सरल खोज-और-प्रतिस्थापन के साथ सभी उद्धरणों को हटाने पर विचार करें।


2
आपका मतलब है कि टेक्स्ट एडिटर में उन्हें बदलने के अलावा समस्या को हल करने का कोई अन्य तरीका नहीं है।
कार्तिक

वास्तव में नहीं, क्योंकि एक्सेल को संगतता कारणों से करना है। शायद यह एक मैक्रो के साथ आने के लिए संभव हो सकता है जो एक कस्टम निर्यात करता है, लेकिन मैं इस पर कोई विशेषज्ञ नहीं हूं।
slhck

ठीक है धन्यवाद हो सकता है मैं इसे कोडिंग पक्ष में बदलने की कोशिश करूंगा।
कार्तिक

@slhck: मैं इस मुद्दे का सामना करना पड़ रहा यूनिकोड में 2010 सीएसवी के रूप में सहेजने के दौरान superuser.com/q/1210099/234380
NJMR

3

मुझे यह समस्या भी हुई। फिर, मैंने देखा कि मैं इस प्रकार के रूप में सहेजें को देख रहा था : विकल्प " स्वरूपित पाठ (स्पेस सीमांकित) "। आपको भी निर्दिष्ट करना होगा txt एक्सटेंशन, या यह .prn एक्सटेंशन के साथ डिफ़ॉल्ट होगा। उदाहरण के लिए, filename.txt को केवल फ़ाइल नाम के बजाय। यह कोशिश करोयह काम करता है


टैब सीमांकित के बजाय स्पेस सीमांकित किया जाएगा, और कॉलम डिफ़ॉल्ट रूप से चौड़ाई में लगभग 8 वर्णों तक सीमित प्रतीत होगा।
योशिय्याहोडर-निष्क्रिय को छोड़कर ..

यह काम नहीं करता है अगर कोशिकाओं में कुछ ऐसा होता है "A short sentence"। नीचे पीट का जवाब केवल एक ही है जो मेरे लिए काम करता है।
मीका लिंडस्ट्रोम

2

यूनिकोड में सहेजने पर भी मेरे स्ट्रिंग में कोई उद्धरण नहीं होने पर भी उद्धरणों में जोड़ना प्रतीत होता है। यहां बताया गया है कि मैं इसके आसपास कैसे मिला:

  1. एक स्ट्रिंग खोजें जो आपकी फ़ाइल में नहीं है (मैंने उपयोग किया है xxx)।
  2. निर्यात करने से पहले, सभी दोहरे उद्धरण चिह्नों "को ढूंढें और बदलेंxxx
  3. अपनी फ़ाइल को txt या csv पर निर्यात करें।
  4. Txt फ़ाइलें खोलें और कुछ भी नहीं के साथ सभी उद्धरण खोजें और बदलें
  5. सभी xxxउद्धरणों के साथ खोजें और बदलें

ध्यान दें, उपयोग replacementनहीं 'replacement'। किसी एकल उद्धरण सहित किसी चीज़ के साथ दोहरे उद्धरणों को प्रतिस्थापित करना समस्याओं का कारण बनता है यदि ऐसा किसी कक्ष के प्रारंभ में होता है। असल में, एक्सेल सेल के अर्थ में एक एकल उद्धरण को पाठ के रूप में व्याख्या करने के लिए देखता है, इसलिए जब आप txt या csv को निर्यात करते हैं तो इसे हटा दिया जाता है। मुझे पता चला कि यह कठिन तरीका है।
मीका लिंडस्ट्रोम

0

एक्सेल में स्पेस सीमांकित .prn के रूप में अपनी फ़ाइल को आसानी से सहेजें और फिर इसका नाम बदलकर .txt करें। मैंने इसका इस्तेमाल 18000 पंक्तियों के संकट के लिए किया। ;)

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