我使用下面的行
阅读了我的csvdata = FCSV.table("test.csv", {:quote_char => '"', :col_sep =>',', :row_sep =>:auto, :headers => true, :return_headers => false, :header_converters => :downcase, :converters => :all} )
我可以用相同的方式保存对象data
(一行,一行+ csv选项)吗? 见上文
我对表格进行排序(请参阅下面的代码)然后我想要再次保存它。我无法弄清楚如何一次性保存表格。我知道怎么一行一行地做。
array_of_arrays = data.to_a()
headers = array_of_arrays.shift # remove the headers
array_of_arrays.sort_by {|e| [e[3], e[4].to_s, e[1]]} .each {|line| p line }
array_of_arrays.insert(0,headers)
我试过的任何东西都没用,给了我一些与
非常相似的东西csv.rb:33: syntax error, unexpected '{', expecting ')'
... FCSV.table("sorted.csv","w" {:quote_char => '"', :col_sep =...
请注意,我希望在保存文件{:quote_char => '"', :col_sep =>',', :row_sep =>:auto, :headers => true, :return_headers => false, :header_converters => :downcase, :converters => :all}
答案 0 :(得分:2)
由于你在数据中有一个数组数组,看起来你可以这么做:
FCSV::Table.new(data).to_csv
将数据的所有csv作为字符串获取,然后将其输出回文件。
答案 1 :(得分:2)
关注dunedain所说的内容,以下内容将把文件写出来
@csv = FCSV::Table.new(data).to_csv
File.open("modified_csv.csv", 'w') {|f| f.write(@csv) }
你在下面的代码中遇到的错误也是因为你在“w”之后和之前没有逗号,但是看起来你可能不会使用读者函数而不是编写函数
csv.rb:33: syntax error, unexpected '{', expecting ')'
... FCSV.table("sorted.csv","w" {:quote_char => '"', :col_sep =...