如何删除字符','在csv文件中

时间:2014-08-06 09:11:16

标签: ruby csv

CSV.foreach("C:/Users/StocksCSV/XOM/XOM.N_BAL_ANN.csv",:col_sep => ';', :skip_blanks => true) do |row|


row.gsub(/[^,]/,"")
#puts row.inspect


ANN_BAL_TBL.insert(:company_name => 'XOM', :statement_title => row[0], :item1 => row[1],
                    :item2 => row[2], :item3 => row[3], :item4 => row[4], :item5 => row[5])

end
puts "ANN_BAL_TBL DB Row Count: #{ANN_BAL_TBL.count}"

这会导致错误:

"undefined method `gsub' for #<Array:0x26d4bc0> (NoMethodError)"

我的CSV文件如下(我只想删除货币中的&#34;,&#34;)

  

&#34;以百万美元计算(每股项目除外); 2012年   2012-12-31; 2011 2011-12-31重新分类2012-12-31; 2010   2010-12-31; 2009 2009-12-31; 2008 2008-12-31

     

现金&amp;等价物; 9,582.0; 12,664.0; 7,825.0; 10,693.0; 31,437.0&#34;

1 个答案:

答案 0 :(得分:1)

试试这个:

row = row.map { |i| i.gsub(',', '') }

这样做就是在数组中的每个项目上调用gsub,只要每个项目都是字符串,它就会起作用。你要做的是在数组上调用gsub,这是不可能的。