不確定如何在導入到MySQL中時更改我的csv文件中的日期,格式爲12/1/2011(mm/dd/yyyy)格式。 MySQL以yyyy/mm/dd爲單位。在Rails CSV上更改日期格式導入MYSQL
我該怎麼做?
我耙文件
require 'csv'
require 'date'
desc "Import gac from csv file"
task :import => [:environment] do
Dir.chdir("#{Rails.root}/lib/assets")
csv_file = "file.csv"
CSV.foreach(csv_file, :headers => true) do |row|
Institution.create({
:company => row[0],
:solveid => row[2],
:phone => row[5],
:other => row[6],
:clientdate => (DateTime.strptime row[7], "%m/%d/%Y").strftime "%Y/%m/%d",
:cunumber => row[1],
:street => row[8],
:city => row[9],
:state_id => row[4],
:zip => row[10],
:source => row[11],
:source2 => row[12],
:demodate1 => (DateTime.strptime row[13], "%m/%d/%Y").strftime "%Y/%m/%d",
:demodate2 => (DateTime.strptime row[14], "%m/%d/%Y").strftime "%Y/%m/%d",
:demodate3 => (DateTime.strptime row[15], "%m/%d/%Y").strftime "%Y/%m/%d",
:client => row[17],
:prospect => row[19],
:alliedlead => row[16],
:notcontacted => row[18]
})
end
end
這是給我的錯誤。
rake import
rake aborted!
/Users/dave/rails_projects/allied_contest/lib/tasks/intitutions.rake:14: syntax error, unexpected tSTRING_BEG, expecting '}'
... row[7], "%m/%d/%Y").strftime "%Y/%m/%d",
... ^
/Users/dave/rails_projects/allied_contest/lib/tasks/intitutions.rake:14: syntax error, unexpected ',', expecting keyword_end
...%m/%d/%Y").strftime "%Y/%m/%d",
... ^
肖恩...我不斷收到以下錯誤:耙中止! /Users/dave/rails_projects/allied_contest/lib/tasks/intitutions.rake:14:語法錯誤,意外的tSTRING_BEG,期待'}' ... row [7],「%m /%d /%Y」) .strftime「%Y /%m /%d」, ...^ /Users/dave/rails_projects/allied_contest/lib/tasks/intitutions.rake:14:語法錯誤,意外的',',期待keyword_end 。 ...%m /%d /%Y「)。strftime」%Y /%m /%d「, – DaveG
@DaveG - 這可能是您需要方法調用括號的情況之一 - 我更新了我的答案。 –
我確定這是有效的,我想我需要檢查nil值,因爲日期不是在所有的字段中。下面的錯誤:「不能將nil轉換成字符串」 – DaveG