【问题标题】:Struggling while trying to import a csv file in a rail application尝试在铁路应用程序中导入 csv 文件时遇到困难
【发布时间】:2016-06-04 05:33:01
【问题描述】:

我将创建一个铁路应用程序来导入 csv 文件并在网页中显示其内容。除了一件事,一切都很好。如果 csv 文件包含带引号的字符串,例如 ""、"、'',则程序不工作。

我的 app/models/user.rb 文件是:-

class User < ActiveRecord::Base
  require 'csv'

  def self.import(file)
    CSV.foreach(file.path, headers:true) do |row|
        User.create! row.to_hash
    end
 end
end

【问题讨论】:

  • 我的问题不在你给@Saini的链接中
  • 你得到任何错误。请出示
  • 链接包含自动为您完成任务的宝石,还可以使用一些标准软件生成 csv,如 google sheet 和 excel
  • 错误是:CSV::MalformedCSVError in UsersController#import

标签: ruby-on-rails ruby database csv ruby-on-rails-4


【解决方案1】:

你可以为这个错误创建一个救援,使用这样的代码 - 可能对你有用!

def self.import(file)
  quote_chars = %w(" | ~ ^ & *)
  begin
     CSV.foreach(file, headers: :first_row, quote_char: quote_chars.shift) do |row|
       User.create! row.to_hash
     end
  rescue CSV::MalformedCSVError
     quote_chars.empty? ? raise : retry 
  end
end

【讨论】:

  • 它可以为您找到,所以请投票并勾选答案
猜你喜欢
  • 1970-01-01
  • 2014-08-04
  • 2019-10-13
  • 2020-07-14
  • 2021-05-24
  • 2021-06-21
  • 1970-01-01
  • 1970-01-01
  • 2020-03-02
相关资源
最近更新 更多