我需要从我的数据库中的一个表(Hits)创建一个制表符分隔的ASCII文件。我已经可以将此表导出为CSV文件。有什么最好的方法来完成这个任务吗?是否有一种在Rails中轻松创建此文件的方法?
我需要从我的数据库中的一个表(Hits)创建一个制表符分隔的ASCII文件。我已经可以将此表导出为CSV文件。有什么最好的方法来完成这个任务吗?是否有一种在Rails中轻松创建此文件的方法?
假设CSV数据在 "something.csv" 文件中,并以 "," 作为分隔符。
require 'csv'
File.open("tab_seperated.txt", "w+") do |f|
f << CSV.parse(File.read("something.csv")).map{|row| row.join("\t")}.join("\n")
end
你可以直接在Rails控制台中执行(或将其放入Rake任务):
File.open('file.txt', 'w') do |f|
f.puts Hits.all.map { |h| [h.value1, h.value2].join("\t") }.join("\n")
end