我有一個上傳CSV文件,我解析像這樣:紅寶石 - 從CSV插入條目到數據庫
CSV.foreach(@my_file.file.path) do |row|
puts row[1]
end
傳入的CSV文件至少有以下欄目:「ID」,「姓名」, 「號碼」,「電話」和「食物」。
我想這樣做:
CSV.foreach(@my_file.file.path) do |row|
//find the columns in "row" associated with "id", "name", "number"
//even though I don't know definitively which column they will be in
//for example, "name" may be the 2nd or 3rd or 4th column (etc)
//insert into my_table values(id, name, number)
end
注意,CSV文件將永遠有列名的第一行,但是從文件到文件,這些列的順序可能會有所不同。
您需要CSV文件中的第一行來命名列,否則如何處理記錄? – Raffaele
第一行確實有列名,但列的順序可能會因文件而異 – CodeGuy