csvファイルをMySqlデータベースにインポートするタスクを行いました。しかし、私の要件は次のとおりです。 1. csv ファイルの行と列は、MySql データベースの行と列と一致する必要があります。行または列が欠落している場合は、「Missing @row1 or column 2」というエラーが発生するはずです.. 2私のコードでは、テーブルヘッダー、つまり名前、場所、都市など。多くの場合、見出しはすべてのインポートで繰り返されます。
次のように私のコード:
def load_csv
end
def import_csv
csv=params[:file].read
n=0
parsed_file = CSV.parse(csv)
parsed_file.each do |row|
i=User.new
i.name = row[0]
i.location = row[1]
i.city = row[2]
if i.valid?
i.save
n=n+1
GC.start if n%50==0
flash[:notice] = "CSV Imported Successfully, with #{n} records"
end
end
ビューで:
<%= form_for(:user, :url => import_csv_user_path, :html => {:multipart => true}) do |f| %>
<table>
<tr>
<td>
<label for="dump_file">
Select a CSV File :
</label>
</td>
<td ><%= file_field_tag :file -%></td>
</tr>
<tr>
<td colspan='2'><%= submit_tag 'Submit' -%></td>
</tr>
</table>
<% end -%>
私を助けてください......