У меня есть csv, который содержит числа с плавающей запятой с запятыми, кроме точек, таких как «34,21», и мне нужно проанализировать его в моей задаче rake, я уже пробовал некоторые решения, подобные этому: Ruby on Rails — импорт данных из файла CSV
Но ни один из них, похоже, не работает должным образом, они просто анализируют его как 2 поля (32 и 21). Есть ли способ исправить это с помощью встроенного CSV?
Я уже пробовал это:
task :drugimport, [:filename, :model] => :environment do |task,args|
CSV.foreach(args[:filename], { encoding: "UTF-8", headers: true, header_converters: :symbol,
converters: :all}) do |row|
Moulding.create!(row.to_hash)
end
end
И этот:
require 'smarter_csv'
options = {}
SmarterCSV.process('input_file.csv', options} do |chunk|
chunk.each do |data_hash|
Moulding.create!( data_hash )
end
end
Они оба выглядят красиво и элегантно, за исключением неправильного разбора полей, содержащих запятые.
вот мои строки, извините, есть русский, но что угодно: http://pastebin.com/RbC4SVzz ничего в нем не менял, поэтому вставил в pastebin, думаю будет полезнее, чем здесь
вот мой журнал импорта: http://pastebin.com/rzC0h9rS
"foo,bar,foo,baz,foo,bar".gsub(",", ".")
- person Timur Mamedov   schedule 02.08.2015