2012-11-07 134 views
4

我正在其中導入CSV文件名user.csv.But我面臨的問題的應用程序是,它提供了一個錯誤如何在rails中導入CSV文件?

引發ArgumentError在CsvimportController#進口

錯誤的參數個數(1 0)

而且CsvimportController的代碼是

require 'csv' 
class CsvimportController < ApplicationController 
def import 

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


end 
end 

我也有給CSV映射器和fastercsv的規範創業板文件。

任何人都可以幫我嗎?

任何幫助,將不勝感激..

感謝

+0

請更改操作名稱並嘗試,因爲導入是csv lib的功能,因此您需要提供不同的名稱。 –

+0

[Ruby on Rails - 從CSV文件導入數據]的可能重複(http://stackoverflow.com/questions/4410794/ruby-on-rails-import-data-from-a-csv-file) –

回答

2

採取如何從CSV和Excel文件導入數據來看看Railscast 396

smarter_csv項目旨在提供更好的處理CSV文件,所以它值得一看。

0

如果您使用Gem smarter_csv,很容易。

所有你需要做的是這樣的:

require 'smarter_csv' 

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

,你需要根據documentation of smarter_csv

這裏有很多有用的選項,包括標題的操作來指定在options_hash的選項,自定義標題,忽略列和值的類型轉換。

如果您的CSV文件很大,您還可以將傳入數據分塊以進行並行處理。