我知道这个问题已经问过很多次了。我试了好几种办法,但都解决不了。
我有一个大的嵌套JSON文件(1.4GB),我想让它变平,然后将其转换为CSV文件。
JSON结构如下:
{
"company_number": "12345678",
"data": {
"address": {
"address_line_1": "Address 1",
"locality": "Henley-On-Thames",
"postal_code": "RG9 1DP",
"premises": "161",
"region": "Oxfordshire"
},
"country_of_residence": "England",
"date_of_birth": {
"month": 2,
"year": 1977
},
"etag": "26281dhge33b22df2359sd6afsff2cb8cf62bb4a7f00",
"kind": "individual-person-with-significant-control",
"links": {
"self": "/company/12345678/persons-with-significant-control/individual/bIhuKnFctSnjrDjUG8n3NgOrl"
},
"name": "John M Smith",
"name_elements": {
"forename": "John",
"middle_name": "M",
"surname": "Smith",
"title": "Mrs"
},
"nationality": "Vietnamese",
"natures_of_control": [
"ownership-of-shares-50-to-75-percent"
],
"notified_on": "2016-04-06"
}
}
我知道这很容易用pandas
模块完成,但我不熟悉它。
已编辑
期望的输出应该是这样的:
company_number, address_line_1, locality, country_of_residence, kind,
12345678, Address 1, Henley-On-Thamed, England, individual-person-with-significant-control
注意,这只是简短的版本。输出应该包含所有字段。
对于给定的JSON数据,可以通过解析JSON结构来执行此操作,只需返回所有叶节点的列表。
这假设您的结构始终是一致的,如果每个条目可以有不同的字段,请参阅第二种方法。
例如:
如果JSON数据是以给定格式列出的条目的列表,则应获得如下输出:
如果每个条目可以包含不同的(或可能丢失的)字段,那么更好的方法是使用
DictWriter
。在这种情况下,需要处理所有条目以确定可能的fieldnames
的完整列表,以便可以写入正确的头。相关问题 更多 >
编程相关推荐