Новичок на ruby, это мой первый проект, я использую FasterCSV Gem и очень люблю скорость.
Я обнаружил одну проблему: если поле слишком длинное, оно выдает ошибку ниже:
/ Библиотека / Ruby / Gems / 1.8 / gems / fastcsv-1.5.4 / lib / rapid_csv.rb: 1641: в `shift ': FasterCSV :: MalformedCSVError (FasterCSV :: MalformedCSVError)
Ошибка во второй строке. Первая строка читается правильно :-)
«1013197145», «PSION HU6020 Hand Strap», «1», «1», «10»
"1013197542", "HP ProBook NA920EA_KT931AT Ноутбук 39,6 см (15,6") - Intel Core 2 Duo T6570 2,10 ГГц - 1366 x 768 WXGA-дисплей - 2 ГБ ОЗУ - 250 ГБ HDD - DVD-привод LightScribe - Intel GMA 4500MHD Graphics Карта - Bluetooth - Веб-камера - Подлинная Windows Vista Business - 5-часовая батарея - HDMI "," 1 "," 1 "," 10 "
вот мой код:
FasterCSV.foreach(file_path, {:col_sep=> colsep, :quote_char => char}) do |row|
my.query("INSERT INTO product_prices (partno,costpriceexvat,sku, supplierid) VALUES ('#{row[7]}', '#{row[8]}', '#{row[3]}','1')")
end
любая помощь будет высоко ценится.