【发布时间】:2016-09-26 11:30:18
【问题描述】:
我有一个看起来像这样的哈希:
@histogram = {
"Date 1" => [
{"Item 1" => 1},
{"Item 4" => 3}
],
"Date 2" => [
{"Item 2" => 7},
{"Item 1" => 2},
{"Item 5" => 1}
],
"Date 3" => [
{"Item 4" => 3},
{"Item 2" => 2},
{"Item 8" => 1},
{"Item 1" => 5}
]
}
我想将其转换为如下所示的逐日直方图 CSV 文件:
| | Date 1 | Date 2 | Date 3 |
| Item 1 | 1 | 2 | 5 |
| Item 2 | | 7 | 2 |
| Item 4 | 3 | | 3 |
| Item 5 | | 1 | |
| Item 8 | | | 8 |
让我感到困惑的是@histogram 哈希可能完全不正常。日期 (keys) 可能是有序的,但项目将完全乱序。此外,如您所见,不同日期的项目不必相同。如果某个项目在特定日期不存在,则可以假设它在直方图中的数量为 0。
【问题讨论】:
-
似乎您必须在临时数据结构中对该哈希的内容进行一些重新打包,以便更轻松地构建 CSV。假设你接受了这个想法并付诸实施。我想知道你能生成什么样的代码。
-
对于您的第一个问题 - 您可以使用排序。对于第二个 - 事先获得键的联合。
标签: ruby-on-rails ruby csv hash