如何在现有csv文件中将新行添加为第一行?

时间:2015-07-21 09:00:12

标签: ruby-on-rails ruby csv

当我尝试使用" ab"添加到CSV文件时选项新行将附加到csv文件的末尾。但我希望新行作为现有CSV文件的第二行(第一行是标题)。 csv文件按日期降序排序,所以我想按照相同的方式。

CSV.open(csv_to_update, "ab", {:headers => :first_row }) do |csv|
  csv << [DOJ,name,id,manager,location]
end

我怎样才能完成它?

1 个答案:

答案 0 :(得分:0)

您可以将文件读取到内存中,并在标题后面加上以下行:

csv_lines = File.readlines(csv_to_update)
new_csv_row = CSV.generate_line([DOJ,name,id,manager,location])
csv_lines.insert(1, new_csv_row)
File.write(csv_to_update, csv_lines)