का उपयोग कर सीएसवी पार्सिंग के साथ एक मूल समस्या पर काबू पाने के लिए मुझे FasterCSV (1.5.0) के साथ एक CSV पार्सिंग समस्या मिली है जो एक वास्तविक बग की तरह लगता है, लेकिन मुझे उम्मीद है कि इसके लिए एक कामकाज है।FasterCSV मणि
असल में, विभाजक के बाद एक जगह जोड़ना (मेरे मामले में अल्पविराम में) जब फ़ील्ड उद्धरणों में संलग्न होते हैं तो MalformedCSVError
उत्पन्न करता है।
यहाँ एक सरल उदाहरण है:
# No quotes on fields -- works fine
FasterCSV.parse_line("one,two,three")
=> ["one", "two", "three"]
# Quotes around fields with no spaces after separators -- works fine
FasterCSV.parse_line("\"one\",\"two\",\"three\"")
=> ["one", "two", "three"]
# Quotes around fields but with a space after the first separator -- fails!
FasterCSV.parse_line("\"one\", \"two\",\"three\"")
=> FasterCSV::MalformedCSVError: Illegal quoting on line 1.
Am मैं पागल हो रहा है, या इस FasterCSV में एक बग है?
क्या अंतरिक्ष कह रहा है कि क्षेत्र वास्तव में उद्धरणों से घिरा हुआ नहीं है (क्योंकि पहला char उद्धरण नहीं है) और उद्धरण फ़ील्ड सामग्री के हिस्से के रूप में लिया जाना चाहिए? –
ऐसा लगता है कि मैं गलत हूं। "यदि फ़ील्ड डबल कोट्स के साथ संलग्न नहीं हैं, तो फ़ील्ड के अंदर डबल कोट्स दिखाई नहीं दे सकते हैं।" - http://tools.ietf.org/html/rfc4180#section-2 –
आप सही हैं, मुझे नहीं पता था कि सीएसवी के लिए 'spec' था लेकिन ऐसा लगता है कि वहां है। FasterCSV वास्तव में बहुत सख्त है। – Olly