我对此非常陌生,所以如果这是非常基本的,我很抱歉!
我正在尝试将CSV文件放入数据库。我的问题是,它没有正确地引入CSV的时间部分。这是我到目前为止所写的。
require 'csv'
desc "Import from CSV"
task :import => [:environment] do
file = "lib/trans_items.csv"
CSV.foreach(file, :headers => true) do |row|
sale = Sale.find_or_initialize_by(
location: row[0],
trans_number: row[7]
)
sale.terminal = row[1],
sale.customer = row[2],
sale.license_plate = row[3],
sale.controller_number = row[4],
sale.complete_time = row[5],
sale.status = row[6],
sale.cashier = row[8],
sale.greeter = row[9],
sale.item_name = row[10],
sale.item_department = row[11],
sale.item_quantity = row[12],
sale.item_amount = row[13],
sale.discounts = row[14],
sale.tax = row[15],
sale.total = row[16]
sale.save
end
endCSV的日期如下:“01/29/2021-6:55 PM (CST)”。
当我尝试使用to_datetime和其他日期时间方法时,我得到" date ::Error (无效日期)“。
在将字符串传递到数据库之前,我正在寻找一种将该字符串转换为正确格式的方法。
谢谢!
发布于 2021-02-04 20:44:44
我解决了这个问题。这是我使用的代码。“”“sale.complete_time = DateTime.strptime(row5,'%m/%d/%Y - %I:%M %p (%z)')‘“
https://stackoverflow.com/questions/66048797
复制相似问题