【发布时间】:2021-06-27 16:31:36
【问题描述】:
我有一个 JSON 文件,我需要从中将特定数组转换为 CSV,然后还要包含数组外部的值。这是我的示例 JSON:
{
"activities" : [
{
"act_id" : "123456",
"act_employee_logged" : {
"emp_id" : "123",
"emp_code" : "ABC123",
"emp_name" : "First Last Name",
},
"act_type" : "ActivityType",
"act_external_attendees" : [
{
"contact_id" : "Guest789",
"contact_name" : "First Last Name",
"contact_email" : "last.first@example.com",
"contact_phone" : "2105555555"
},
{
"contact_id" : "Guest790",
"contact_name" : "First Last Name 1",
"contact_email" : "last.first1@example.com",
"contact_phone" : "2105555556"
}
],
"act_internal_attendees" : [
{
"att_id" : "123",
"att_code" : "ABC123",
"att_name" : "First Last Name",
"att_email" : "last.first@example.com"
},
{
"att_id" : "124",
"att_code" : "ABC124",
"att_name" : "First Last Name 1",
"att_email" : "last.first1@example.com"
}
]
}
]
}
我需要将 act_external_attendees 转换为数据框,然后转换为 CSV。我已经成功地做到了,这是读取文件并创建我的数据框的代码部分:
import json
import csv
import pandas as pd
with open("/filepath/interaction_response.json") as f: #####
d = json.load(f)
ext_att = pd.json_normalize(data=d['activities'], record_path='act_external_attendees', meta=['contact_id', 'contact_name', 'contact_email', 'contact_phone'],errors='ignore',record_prefix = '_')
让我头疼的部分是我需要将act_id 值作为一列包含在我的数据框和 CSV 的每一行中,但到目前为止我还没有找到实现这一点的方法。任何建议表示赞赏。
【问题讨论】: