【发布时间】:2019-12-28 21:23:32
【问题描述】:
我正在尝试了解从一组 json 解析和创建 CSV 文件的最佳实践,这可能会因每个 API 调用而改变。这与 Facebook 广告集数据有关。
这是输出数据的示例:
{
"lifetime_imps": 0,
"optimization_goal": "REACH",
"optimization_sub_event": "NONE",
"pacing_type": [
"standard"
],
"promoted_object": {
"application_id": "123456789",
"custom_event_type": "PURCHASE",
"object_store_url": "https://itunes.apple.com/app/god"
},
"recurring_budget_semantics": true,
"review_feedback": "[]",
"custom_audiences": [
{
"id": "123455678919",
"name": "GODS_COUNTRY_REALLY_GOOD_SONG"
}
]
}
担忧: 当我们解析这个结构时,例如 pacing_type 数组可能有超过 1 个元素。甚至 custom_audiences 也有许多对象,这些对象可能会因产品而异。
我们的目标是解析此结构并创建一个 CSV 文件,该文件可在基于分析或报告软件的下游使用。
可能的方法 - 收集 JSON 结构的所有固定元素,并为每个包含数组值的元素,为数组中的每个元素创建一个新行?
【问题讨论】:
-
你能展示你期望的 CSV 的样子吗?你见过 Pandas 规范化 JSON 输出吗?
-
另外,如果有多个数组项而不是没有,您是否期望列数相同?
-
CSV 不是表示嵌套数据的好格式,尤其是当嵌套数据以不可预知的方式变化时。
-
@martineau 你有什么推荐的?
-
好吧。 (显然)JSON 支持它,以及 YAML 和 XML。如果您真的更喜欢 CSV,也许从单一来源创建多个“链接”文件是可行的。进行链接的一种方法是将嵌套数据的文件名放在主 CSV 文件或“根”CSV 文件中。
标签: python json python-3.x csv