मुझे कुछ सामग्री क्षेत्रों में अल्पविरामों के साथ CSV फ़ाइल आयात करने के लिए एक्सेल कैसे मिलेगा?


13

मुझे अपनी CSV फ़ाइल आयात करने के लिए एक्सेल कैसे मिलेगा ?

फ़ाइल

मेरे पास CSV होने का दावा करने वाली एक फाइल है। इसमें 10 फ़ील्ड शामिल हैं, जिनमें से सभी दोहरे उद्धरणों से घिरे हैं (हाँ, यहां तक ​​कि दिनांक और संख्याएँ।) इनमें से 2 या 3 फ़ील्ड में अल्पविराम होते हैं । लेकिन इन क्षेत्रों में डेटा भी उद्धरणों से घिरा हुआ है।

मुसीबत

जब मैं इस फ़ाइल को खोलने का प्रयास करता हूं, तो एक्सेल पूरी तरह से उद्धरणों की उपेक्षा करता है और मानता है कि वे डेटा का हिस्सा हैं।

इसलिए यह कई स्तंभों में अल्पविराम वाले फ़ील्ड को विभाजित करता है।

यह बुरा है, कम से कम मेरे लिए।

उदाहरण डेटा

"20051", "", "2009 सितम्बर 30 02:53:23", "सोमटेक्ट", "", "5000", "2000000", "2008 - 99999 - -99999, 2008 - अनक - अनक", "191 - SOMETEXT - SOMETEXT, 192 - SOMETEXT - SOMETEXT, 193 - SOMETEXT - सोमाटेक्स्ट, 194 - SOMETEXT - सोमाटेक्ट, 195 - सोम्मेक्ट - SOMETEXT, 196 - सोमाटेक्स्ट - सोमाटेक्स्ट - "45- SOMETEXT -"। - सोम्मट - सोम्मेक्ट, 141 - सोम्मट - सोम्मेक्ट "
"20052", "सोमाटेक्स्ट", "2009 सितम्बर 08 07:56:50", "सोम्मेक्ट", "", "50000", "5000000", "2007 - 99999 - 99999", "146 - मोमटेक्स्ट - सोमेक्ट, 145 - सोमेक्स्ट - सोम्मेक्ट, १४ - - सोमाटेक्स्ट - सोम्मेक्ट, १४ET - सोमाटेक्स्ट - सोमाटेक्स्ट "," १०३ - सोमाटेक्स्ट - सोम्मेक्ट, ११३१ - सोमेक्स्ट - सोम्मेक्ट

मैंने क्या कोशिश की है?

मैंने सीमांकक और ऐसे निर्दिष्ट करने के लिए आयात सुविधा का उपयोग किया है, लेकिन यह मदद करने के लिए प्रतीत नहीं होता है।

मैंने "टेक्स्ट डेलिमिटर" को एक दोहरे उद्धरण से "{कोई नहीं" "और फिर से वापस स्विच करने की कोशिश की है। यह केवल पहले कॉलम को प्रभावित करता है। यदि अन्य स्तंभों पर क्लिक करना और प्रत्येक को यह सेटिंग लागू करना संभव हो तो यह फिर से शुरू करने योग्य होगा। लेकिन यह मामला नहीं है, और ऐसा लगता है कि यह कॉलम भर में काम करने का इरादा है।

मेरे द्वारा और क्या आजमाया जा सकता है?


1
कौन सा एक्सेल संस्करण? और क्या यह पूरी तरह से पैबंद है?
harrymc

मैंने इसे 2002 और 2007 में देखा है। मुझे 2007 के बारे में निश्चित नहीं है, लेकिन मुझे पूरा यकीन है कि 2002 पूरी तरह से अद्यतित है
रोरी बेकर

क्या आप CSV को लिंक प्रदान कर सकते हैं? या एक कट डाउन संस्करण जो समस्या को प्रदर्शित करता है?
जोश कोमले

ऊपर उदाहरण डेटा जोड़ा गया
रोरी बेकर

जवाबों:


13

मैंने बस एक त्वरित परीक्षण की कोशिश की जिसने आपकी समस्या को दोहराया।

मैंने Word में 1 लाइन CSV (जो स्मार्ट कोट्स का उपयोग करता है) को test.csv "123", "4,5,6" के रूप में बनाया और यह एक्सेल में आपके द्वारा बताए अनुसार खोला गया।

"और" को "के साथ बदलने का प्रयास करें"


आपके नमूने के साथ खेलने के बाद, मैंने देखा कि एक्सेल खेतों के बीच रिक्त स्थान को पसंद नहीं करता है

के बजाय उदा

"20051", "", "2009 Sep 30 02:53:23", ...

तुम्हें चाहिए

"20051","","2009 Sep 30 02:53:23",...

एक सभ्य नियमित अभिव्यक्ति प्रतिस्थापन के साथ इसे संभालने में सक्षम होना चाहिए

Find:    |("[^"]*",) |
Replace: |\1|

(केवल दृश्य cues के लिए पाइप वर्ण)

या बस .Net कोड को संशोधित करें यदि आपके पास इसकी पहुंच है; ;-)

साथ ही, जैसा कि अर्जन ने बताया , सेल A1 को BOM और उसके आसपास के qoutes से बचाने के लिए आपको UTF-8 से ANSI में फाइल को बदलना पड़ सकता है।

मैं ANSI के पकड़ 22 में कूट-कूट कर भरा हुआ हूँ, CSV ने अंतर्राष्ट्रीय पात्रों को संभालना नहीं छोड़ा है और UTF ने CSV को एन्कोड किया है जिसे एक्सेल से सही तरीके से संभाला नहीं जा रहा है; और CSV को मेनटेन करते समय कोई समाधान नहीं मिला। यदि अंतर्राष्ट्रीय वर्ण समर्थन की आवश्यकता है, तो XML (या देशी XLS) प्रारूप सरलता की कीमत पर जाने का एकमात्र तरीका लगता है।


कोई स्मार्ट उद्धरण शामिल नहीं है। .Net में लिखे प्रोग्राम से std उद्धरण चिह्नों का उपयोग करने के लिए इस फ़ाइल को जनरेट किया गया था।
रोरी बेकर

मेरा यह कहने का इरादा नहीं था कि यूटीएफ -8 फाइलों को अलग तरीके से एनकोड किया जाना चाहिए। लेकिन जब यूटीएफ -8 आयात करते हैं, तो वास्तव में एक्सेल को बताना चाहिए कि एन्कोडिंग क्या है। और UTF-8 एनकोडिंग की उस लंबी सूची में नीचे कहीं छिपा हुआ है।
अर्जन

मैंने कई UTF-8 को CSV फ़ाइलों को एन्कोड किया है। मुझे यकीन है कि अगर उनके पास एक बीओएम था, तो ध्यान दें।
अर्जन

@lumbarious: आप एक स्टार हैं! पूरी तरह से काम करता है ... मुझे विश्वास नहीं हो रहा है कि एक्सेल इस से निपट नहीं सकता है :(
रोरी बेकर

1
हाँ, जाहिरा तौर पर खेतों के बीच रिक्त स्थान पूरी तरह से एक्सेल 2011 को भ्रमित करते हैं। रिक्त स्थान को हटाने से समस्या ठीक हो जाती है और डेटा के हिस्से के रूप में उद्धरण चिह्नों को शामिल करने से भी एक्सेल रहता है। मेरा अनुमान है कि कहीं न कहीं एक युक्ति है जो कहती है कि दोहरे उद्धरण केवल डेटा का परिसीमन करते हैं यदि वे सीधे अल्पविराम से सटे होते हैं।
पीटर ग्लुक

9

यह समस्या कई वर्षों से मुझे परेशान कर रही है। मैंने अभी हल खोजा है और यह ऊपर दिए गए उत्तरों में स्पष्ट है लेकिन स्पष्ट रूप से नहीं लिखा गया है।

यह अल्पविराम के बाद का स्थान है!

यह एक्सेल में आयात नहीं करता है;

HEADER1, HEADER2
"1,000", "2,000"

जबकि

HEADER1,HEADER2
"1,000","2,000"

काम करता है!


3
सुपर उपयोगकर्ता में आपका स्वागत है! यह उत्तर एक सहायक और स्पष्ट तरीके से लिखा गया था। आपके योगदान के लिए धन्यवाद और हमें उम्मीद है कि आप चारों ओर से चिपके रहेंगे।
user1717828

YAAAS! स्वीकृत उत्तर में इस उत्तर के विपरीत दफन प्रश्न का वास्तविक उत्तर है। ऑप स्मार्ट कोट्स का उपयोग नहीं करता है।
दारूब


2

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

अगर आप गलती से स्मार्ट उद्धरण उपयोग कर रहे हैं नहीं lumbarius तरह का सुझाव दिया है , और यह सोचते हैं आप विंडोज पर कर रहे हैं: कि हो सकता है अपनी क्षेत्रीय सेटिंग की वजह से हो। जब फ़ाइल »ओपन पर डबल-क्लिक या उपयोग किया जाता है, तो एक्सेल आपसे कोई विवरण नहीं मांगता है, लेकिन बस इन सेटिंग्स का उपयोग करता है।

फिर भी, आयात समारोह (जैसे आपने किया) को लागू करने के लिए मैनुअल काम करना चाहिए था, इसलिए मुझे संदेह है कि क्षेत्रीय सेटिंग्स को बदलने से मदद मिलेगी ...


यह एक उत्तर के बजाय एक टिप्पणी की तरह लगता है ...
मेटाफेनील

इस सुझाव से मेरी समस्या हल हो गई! CSV आयात करना (पाठ से / CSV से डेटा>) अपेक्षा के अनुरूप काम नहीं कर रहा था, लेकिन अगर मैंने अभी CSV फ़ाइल पर फ़ाइल> ओपन की, तो यह काम कर गया। तब मैं पूरी तालिका को अपनी अन्य कार्यपुस्तिका में कॉपी / पेस्ट करने में सक्षम था।
WOUNDEDStevenJones

1

क्या आपने अपनी फ़ाइल के वर्ण एन्कोडिंग की जाँच की है? UTF-8 में वर्ण एन्कोडिंग सेट करने का प्रयास करें।

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


एनकोडिंग द्वारा Notepad2 को "हस्ताक्षर के साथ UTF8" बताया गया है
रोरी बेकर

फिर आयात करते समय, आपको एन्कोडिंग सूची में नीचे स्क्रॉल करने की आवश्यकता होती है। UTF-8 सूची में कहीं कम छिपा हुआ है। (UTF-8 एनकोडेड CSV फ़ाइलों का उपयोग करने की आवश्यकता नहीं है, लेकिन जैसा कि आपका इनपुट पहले से ही UTF-8 है, आपको वास्तव में Excel को यह बताने की आवश्यकता है कि क्या उपयोग किया जाना है। ध्यान दें कि एक सामान्य उद्धरण-वर्ण ASCII, पश्चिमी और UTF में समान होगा। -8, लेकिन हो सकता है कि हस्ताक्षर (एक बाइट ऑर्डर मार्क) या कुछ अन्य पात्र गड़बड़ करते हैं?)
अर्जन

@Peter विकिपीडिया की आधिकारिक लिंक को क्यों बदलें? इसका बिलकुल कोई अर्थ नहीं है? हम बहुत अधिक लोगों को नहीं भेजना चाहते हैं, और यह निश्चित रूप से एक संपादित - विशेष रूप से दो साल पुराने पोस्ट पर वारंट नहीं करता है।
slhck

1

यहां केवल उत्तरों को जोड़ना: अपनी CSV फ़ाइलों में COMMAS के बाद SPACES पर ध्यान दें। यदि आप अपने डेटा में फ़ील्ड्स उद्धृत करते हैं, तो Excel इन्हें पसंद नहीं करता है।

एक्सेल पसंद (डेटा के 4 कॉलम):

a, b, c, d

लेकिन पसंद नहीं है (डेटा के 3 कॉलम):

a, "b, c", d

यह पसंद है (डेटा के 3 कॉलम):

a,"b, c",d

मैंने बस उस समस्या को मारा। मैं दीवार के खिलाफ अपना सिर पीट रहा था जब तक कि मुझे यह नोट नहीं मिला। यह बस आश्चर्यजनक है। मैं एक्सेल 2017 चला रहा हूं और यह
खटास

1

मैं आज इस समस्या के लिए भाग गया और एक समाधान भी पाया जो मेरे लिए काम करता है।

मेरा वातावरण / संदर्भ: मेरे पास कुछ (फ़ॉर्म) प्रश्नों के साथ एक वेब पेज है जिसमें दोहरे उद्धरण और अल्पविराम दोनों हैं। दोनों सवालों और जवाबों को डेटाबेस से बाहर निकाला जाता है और रिपोर्टिंग उद्देश्यों के लिए एक एक्सेल फाइल में लिखा जाता है।

मुझे ऊपर वर्णित समान समस्या थी: जिन प्रश्नों में दोहरे उद्धरण और अल्पविराम दोनों शामिल थे, उन्हें एक्सेल में कई कॉलम में विभाजित किया जा रहा था।

मेरे उद्देश्यों के लिए, एक दोहरे उद्धरण के स्थान पर दो एकल उद्धरणों का उपयोग करने की कोशिश की।

-> वेबसाइट पर, दो एकल उद्धरण साइट आगंतुकों के लिए एक दोहरे उद्धरण की तरह दिखते हैं

-> एक्सेल फ़ाइल में, फिर से, दो एकल उद्धरण रिपोर्ट डेटा देखने वाले उपयोगकर्ताओं के लिए एक दोहरे उद्धरण की तरह दिखाई देते हैं

मुझे पता है कि यह समाधान सभी के लिए काम नहीं करेगा, लेकिन उम्मीद है कि यह किसी की मदद करेगा।


1

मैं इसका उपयोग करने में सक्षम था:

a,b,c,"=""(1,2,3)"""

जो चार कॉलम देता है:

|  a  |   b   |   c   |   (1,2,3)   |

0

इसे करने का दूसरा तरीका:

  1. फ़ाइल को LibreOffice या OpenOffice Calc में खोलें।
  2. सही आयात विकल्प सेट करें, जैसे UTF-8, अल्पविराम-अलग, ...
  3. फ़ाइल को ods या xls के रूप में संग्रहीत करें
  4. Excel में नई फ़ाइल खोलें।

इस तरह, आप UTF-8 की तरह सही एन्कोडिंग सेट कर सकते हैं, जो एक्सेल के कई (सभी?) संस्करण BOM के बिना सही ढंग से नहीं संभाल सकते हैं और आपको एक regex के बारे में चिंता करने की ज़रूरत नहीं है जो फ़ील्ड के अंदर कुछ पाठ को बदल सकता है और आप इसे नोटिस नहीं करते।

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