मुझे रूबी-1.9.2 में एक CSV फ़ाइल आयात करने का प्रयास करने का अविश्वसनीय समय रहा है।सीएसवी उद्धरण त्रुटि आयात करना मुझे पागल कर रहा है
फ़ाइल मैं पार्स करने के लिए कोशिश कर रहा हूँ है: कॉलम के भीतर
- अल्पविराम के कॉलम के भीतर
- उद्धरण
- का उपयोग करता है के रूप में एक '@': col_sep
csv.txt (प्रतिनिधि इनपुट, असली एक 101k लाइनें है):
㔾@㔾@jié@"seal" radical in Chinese characters, (Kangxi radical 26)
मेरे कोड:
require 'csv'
CSV.foreach("/Users/adam/Desktop/csvtest.txt", {:col_sep => "@"}) do |row|
puts row.to_s
end
मेरे वांछित आउटपुट: मैं देख सकता हूँ कि
CSV::MalformedCSVError: Unclosed quoted field on line 1.
from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/CSV.rb:1910:in `block in shift'
from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/CSV.rb:1825:in `loop'
from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/CSV.rb:1825:in `shift'
from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/CSV.rb:1767:in `each'
from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/CSV.rb:1202:in `block in foreach'
from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/CSV.rb:1340:in `open'
from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/CSV.rb:1201:in `foreach'
from (irb):31
from /Users/adam/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'
इसमें कहा गया है खुली हुई उद्धृत feilds देखते हैं, लेकिन:
["㔾", "㔾", "jié", "\"seal\" radical in Chinese characters, (Kangxi radical 26)"]
क्या मैं उत्पादन के लिए मिलता है उद्धरण खुला और करीब।
उद्धरण से बचने से कुछ भी नहीं होता है। मुझे एक ही त्रुटि मिलती है ([email protected]""seal"" r...
)। उन्हें सिंगल कोट्स में बदलना यह काम करता है ([email protected]'seal' r...
)। समस्या यह है कि मुझे उन्हें डबल कोट्स में रहने की आवश्यकता है।
कोई विचार?
+1 सीएसवी स्पेक। एचटीएमएल के समान ही पूरी तरह दुर्व्यवहार और अनदेखा किया जाता है। दोनों के लिए, मैं इसे पार्सर को सौंपने से पहले डेटा को ठीक करने का समय लेता हूं। मुझे लगता है कि इस समस्या के लिए भी एक समाधान होगा, लेकिन मुझे लगता है कि आप 'quote_char => "\ x00" 'के साथ पार्सर को कैसे बेवकूफ़ बना रहे हैं। अच्छी नौकरी। –
मेरे पास यूटीएफ -16 एक 'बीसीपी' एमएसएसक्यूएल डंप से आ रहा है जिसमें वास्तव में नल चरित्र है। बस मस्ती के लिए मैंने एक वैकल्पिक के रूप में स्नोमैन चरित्र (☃) चुना। :) –
यह '" \ x00 "' चाल सुंदर ढंग से काम करता है :-) – Avishai