【发布时间】:2020-12-22 00:22:21
【问题描述】:
我目前有一个具有以下结构的对象(failure_object):
{"2020-08-25"=>{"adwords"=>8, "analytics"=>69, "bing"=>5, "dfa"=>3, "doubleclick"=>2, " getstat"=>2}, "2020-08-26"=>{"adwords"=>22, "bing"=>7, "dfa"=>4, "doubleclick"=>6, "getstat"=> 2},...
我希望将其写入包含以下列的 CSV:
+------------+--------------+-------------+
|一个 |乙| C |
+------------+--------------+-------------+
| 2020-08-25 |广告词 | 8 |
| 2020-08-25 |分析 | 69 |
| 2020-08-25 |冰 | 5 |
| 2020-08-25 | dfa | 3 |
| 2020-08-25 |双击 | 2 |
| 2020-08-25 |获取统计信息 | 2 |
| 2020-08-26 |广告词 | 22 |
| 2020-08-26 |冰 | 7 |
| 2020-08-26 | dfa | 4 |
| 2020-08-26 |双击 | 6 |
| 2020-08-26 |获取统计信息 | 2 |
+---+--------+-------------+-------------+
到目前为止,我编写 ruby 并输出到 csv 的经验只涵盖了数组,a 虽然我可以将此哈希对象转换为数组,但键值对之间的关系并未以我想要的方式保留。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
如果
+---+--------+--------------+-------------+行不被写入CSV 文件,您应该删除它们。如果字段分隔符是管道 (|),则应写为2020-08-25|adwords|8而不是| 2020-08-25 | adwords | 8 |。为避免混淆,您需要显示 CSV 文件的准确图像。此外,让您散列一个完整的 Ruby 对象,该对象对应于您显示的文件的图像(即,没有...)。这是针对您可能提出的任何问题的一般建议。 -
为每个输入分配一个变量(例如,
h = { "2020-08-25"=>{...})也很有帮助,这样读者就可以在答案和 cmets 中引用该变量(在我的示例中为h),而无需定义它. -
@max :您显示的所需输出不是有效的 CSV 文件。除此之外,将问题分为两个步骤:(1)将您的哈希转换为字符串数组的数组,保存您需要在结果文件中显示的数据,(2)将此数组转换为 CSV(或您需要的任何格式)。如果您在其中一个步骤中遇到困难,请针对该子问题提出一个单独的问题。