Ruby 将哈希导出为csv-第一行作为哈希键,后续行作为哈希值
如何将散列的内容输出到excel/csv,并将键作为第一行和后续行中的值?我有以下内容,但由于我多次打开csv,因此效率不高Ruby 将哈希导出为csv-第一行作为哈希键,后续行作为哈希值,ruby,csv,hash,Ruby,Csv,Hash,如何将散列的内容输出到excel/csv,并将键作为第一行和后续行中的值?我有以下内容,但由于我多次打开csv,因此效率不高 rowid = -1 CSV.open("file.csv", 'a') do |csv| details.each do |hsh| rowid += 1 if rowid == 0 csv << hsh.keys# adding header row (column labels) else csv &l
rowid = -1
CSV.open("file.csv", 'a') do |csv|
details.each do |hsh|
rowid += 1
if rowid == 0
csv << hsh.keys# adding header row (column labels)
else
csv << hsh.values
end
end
end
我只想指出,CSV类使您能够编写如下标题:
columns = details[inner_hash].keys.to_a
CSV.open('test.csv', 'w', write_headers: true, headers: columns) do |csv|
#logic in here
end
我不明白你说的效率低下是什么意思,因为我多次打开csv。您的循环似乎位于csv open块内,该块只执行一次。整个块位于另一个循环内。但仔细想想,我别无选择,只能多次打开csv。很抱歉提出了错误的问题,感谢您指出!当做