我是 ruby 新手,所以请原谅我的笨拙。
我有一个包含两列的 CSV。一种用于动物名称,另一种用于动物类型。 我有一个散列,所有键都是动物名称,值是动物类型。我想在不使用 fasterCSV 的情况下将哈希写入 CSV。我想到了几个最简单的想法。这是基本布局。
require "csv"
def write_file
h = { 'dog' => 'canine', 'cat' => 'feline', 'donkey' => 'asinine' }
CSV.open("data.csv", "wb") do |csv|
csv << [???????????]
end
end
当我打开要读取的文件时,我打开了它 File.open("blabla.csv", headers: true)
是否有可能以同样的方式写回文件?
最佳答案
如果你想要列标题并且你有多个散列:
require 'csv'
hashes = [{'a' => 'aaaa', 'b' => 'bbbb'}]
column_names = hashes.first.keys
s=CSV.generate do |csv|
csv << column_names
hashes.each do |x|
csv << x.values
end
end
File.write('the_file.csv', s)
(在 Ruby 1.9.3-p429 上测试)
关于ruby - 如何将散列保存到 CSV 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8183706/