如何在Rails中导入CSV文件?

4

我正在制作一个应用程序,其中它导入名为user.csv的csv文件。但我面临的问题是出现了错误。

CsvimportController中的代码如下:

ArgumentError in CsvimportController#import

参数个数错误(应该为0个,实际为1个)

require 'csv'
class CsvimportController < ApplicationController
def import

results = import('anas.csv') do
read_attributes_from_file
end


end
end

我在gem文件中添加了csv-mapper和fastercsv的规范。

有人可以帮忙吗?

任何帮助都将不胜感激。

谢谢。


请更改操作名称并重试,因为导入是csv库的函数,所以您需要给出不同的名称。 - Anand Soni
2个回答

2

请查看Railscast 396,了解如何从CSV和Excel文件中导入数据。

smarter_csv项目旨在提供更好的CSV文件处理方式,值得一看。


0

如果你使用宝石库smarter_csv,那么这很容易。

你所需要做的就是:

 require 'smarter_csv'

 def import(filename)
   results = SmarterCSV.process( filename, options_hash )
 end

你需要根据smarter_csv的文档options_hash中指定选项。

有很多有用的选项,包括操作标题、自定义标题、忽略列和值类型转换。

如果你的CSV文件很大,你还可以将传入的数据分块以进行并行处理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接