我有一个从数据表中得到的结果集 然后我将其导出到 CSV 文件。但是,当它有很多结果集时,我的工作方式有一个错误。
所以通常当小于 5000 时,我有以下格式。我的代码与之配合使用。
[{"account"=>"123456","time"=>"16789524554","status"=>"active",...},{"account"=>"3845679","time"=>"16789524554","status"=>"deleted",...}]
但是当我有很多项目时,它会用数组分隔。所以它会像
[{"account"=>"123456","time"=>"16789524554","status"=>"active",...},{"account"=>"3845679","time"=>"16789524554","status"=>"deleted",...},{..},{.....},[{"account"=>.....},{...},{...}]]
因此我得到了错误
undefined method `values' for #<Array:
我不确定如何更改我的代码来解决这个问题。特别是我不确定每个阵列有多少项目。
我的代码
def to_file(items)
CSV.open('my_file.csv', 'wb') do |file|
file << items.first.keys
items.each { |item| file << item.values }
end
end
编辑:为了清楚起见,我有一个以下格式的数组
my_array = [{....},{....},[{...},{..}]] 它是一个带有 resultSet 的嵌套数组。我怎样才能迭代呢?