नीचे दिए गए उदाहरण में, अंतिम पंक्ति अपलोड नहीं की गई है। मुझे एक त्रुटि मिलती है:उद्धरण और फ़ील्ड विभाजक के बीच डेटा
Data between close double quote (") and field separator:
यह एक बग जैसा दिखता है क्योंकि पाइप प्रतीक के बीच के सभी डेटा को एक फ़ील्ड के रूप में माना जाना चाहिए।
स्कीमा: एक: स्ट्रिंग, दो: स्ट्रिंग, तीन: स्ट्रिंग, चार: स्ट्रिंग
फ़ाइल अपलोड करें:
This | is | test only | to check quotes
second | line | "with quotes" | no text
third line | with | "start quote" and | a word after quotes
पहली और दूसरी रेखा से ऊपर संसाधित किया जाता है। लेकिन तीसरा नहीं।
अद्यतन:
कुछ कृपया समझा क्यों करता है निम्नलिखित काम तीसरी लाइन को छोड़कर?
This | is | test only | to check quotes
second | line | "with quotes" | no text
third line | with | "start quote" and | a word after quotes
forth line | enclosed | {"GPRS","MCC_DETECTED":false,"MNC_DETECTED":false} | how does this work?
fifth line | with | {"start quote"} and | a word after quotes
इसमें कुछ फैंसी स्पष्टीकरण हो सकते हैं। अंत उपयोगकर्ता परिप्रेक्ष्य से यह बेतुका है।
मैं सिर्फ अपने अद्यतन की कोशिश की, और उदाहरण आप दे दी है वास्तव में काम नहीं करता है अधिकांश सीएसवी पार्सिंग अनुप्रयोगों की तरह, बिगक्वायर डिफ़ॉल्ट रूप से डबल कोट्स (") को फ़ील्ड संलग्न करने वाले क्षेत्र के रूप में मानता है। तीसरी पंक्ति ठीक से बच नहीं है (नीचे मेरा जवाब देखें) और इंजेक्शन एक त्रुटि फेंक देगा। आपके विकल्प हैं: 1. डबल-कोट (एक वर्ण जो आपके डेटा में प्रकट नहीं होता है) के अलावा किसी अन्य चीज़ के लिए आपके इंजेक्शन अनुरोधों में "config.load.quote" पैरामीटर बदलें। 2. नीचे दिए गए अनुसार अपने डेटा से बचें ... उदाहरण के लिए, पायथन की सीएसवी कक्षा स्वचालित रूप से यह करती है। –
हालांकि, "config.load.quote" को सेट करने जैसी चीजों को करने में सक्षम होने पर योग्यता हो सकती है, मुझे लगता है कि बड़ी मात्रा में सीएसवी डेटा के साथ काम करते समय डिलीमीटर और फ़ील्ड संलग्न करने वाले पात्रों के साथ बहुत स्पष्ट होना महत्वपूर्ण है।यह अंतर्निहित डेटा में त्रुटियों को पकड़ने में सहायता करता है, और यह सुनिश्चित करने के लिए कि आप जिस डेटा को ले रहे हैं वह मान्य है। –