回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一套嵌套的JSON,到目前为止,我正在做以下工作:</p>
<pre><code>r = session.get(search_url, auth=HTTPKerberosAuth(mutual_authentication=OPTIONAL), verify=False)
json_data = json.loads(r.content)
flattened_data = json_normalize(json_data['documents'])
print(list(flattened_data))
</code></pre>
<p>这将输出以下结果:</p>
<pre><code>['affected_users', 'aggregatedLabels', 'aliases', 'assignedFolder', 'assigneeIdentity', 'attachments', 'authorizations', 'autoUpgrade.workingHours', 'conversation', 'createDate', 'dedupes', 'deleted', 'description', 'descriptionContentType', 'editCount', 'engagementList', 'extensions.backlog.priority', 'extensions.effort.effortEstimatedLocal.effort', 'extensions.effort.effortEstimatedLocal.unit', 'extensions.effort.effortEstimatedRecursiveSum.effort', 'extensions.effort.effortEstimatedRecursiveSum.unit', 'extensions.effort.effortRemainingLocalSum.effort', 'extensions.effort.effortRemainingLocalSum.unit', 'extensions.effort.effortRemainingRecursiveSum.effort', 'extensions.effort.effortRemainingRecursiveSum.unit', 'extensions.effort.effortSpentLocalSum.effort', 'extensions.effort.effortSpentLocalSum.unit', 'extensions.effort.effortSpentRecursiveSum.effort', 'extensions.effort.effortSpentRecursiveSum.unit', 'extensions.tt.assignedGroup', 'extensions.tt.building', 'extensions.tt.caseType', 'extensions.tt.category', 'extensions.tt.city', 'extensions.tt.endCode', 'extensions.tt.ecd', 'extensions.tt.impact', 'extensions.tt.item', 'extensions.tt.justification', 'extensions.tt.migrationStatus', 'extensions.tt.minImpact', 'extensions.tt.resolution', 'extensions.tt.rootCause', 'extensions.tt.rootCauseDetails', 'extensions.tt.status', 'extensions.tt.type', 'frames', 'id', 'identityTimestamped', 'inheritedLabels', 'isTicket', 'labels', 'lastAssignedDate', 'lastResolvedByIdentity', 'lastResolvedDate', 'lastUpdatedActualDate', 'lastUpdatedConversationDate', 'lastUpdatedDate', 'lastUpdatedIdentity', 'next_step.action', 'next_step.exceptions', 'next_step.owner', 'parentTasks', 'requesterIdentity', 'rootCauses', 'rulesReceipt', 'schedule.estimatedCompletionDate', 'schedule.estimatedStartDate', 'schedule.needByDate', 'schema', 'slaReceipts', 'status', 'stickyThreadId', 'submitterIdentity', 'subtasks', 'tags', 'threads', 'title', 'watchers']
</code></pre>
<p>从这个列表中,我只尝试将某些键及其值放入数据帧中:</p>
<pre><code> print(flattened_data['assigneeIdentity',
# 'createDate',
# 'description',
# 'extensions.tt.assignedGroup',
# 'extensions.tt.category',
# 'extensions.tt.endCode',
# 'extensions.tt.ecd',
# 'extensions.tt.impact',
# 'extensions.tt.item',
# 'extensions.tt.justification',
# 'extensions.tt.resolution',
# 'extensions.tt.rootCause',
# 'extensions.tt.rootCauseDetails',
# 'extensions.tt.status',
# 'extensions.tt.type',
# 'id',
# 'labels',
# 'lastAssignedDate',
# 'lastResolvedByIdentity',
# 'lastResolvedDate',
# 'lastUpdatedActualDate',
# 'lastUpdatedConversationDate',
# 'lastUpdatedDate',
# 'lastUpdatedIdentity',
# 'requesterIdentity',
# 'submitterIdentity',
# 'title',
# 'watchers'])
</code></pre>
<p>当我这样做时,我得到一个关键错误。因此,对于上面列出的字段和每个字段的嵌套级别,基本JSON如下所示;每个“item”在documents元素下是一个整数,我需要更多的嵌套元素:</p>
<pre><code>documents:
0:
extensions:
tt:
category:
type:
item:
assignedGroup:
impact:
justification:
endCode:
rootCause:
rootCauseDetails:
status:
id:
title:
lastAssignedDate:
createDate:
lastUpdatedActualDate:
lastResolvedDate:
lastResolvedByIdentity:
lastUpdatedIdentity:
assigneeIdentity:
submitterIdentity:
requesterIdentity:
identityTimestamped:
lastUpdatedConversationDate:
lastUpdatedDate:
1:
extensions:
tt:
category:
type:
item:
assignedGroup:
impact:
justification:
endCode:
rootCause:
rootCauseDetails:
status:
id:
title:
lastAssignedDate:
createDate:
lastUpdatedActualDate:
lastResolvedDate:
lastResolvedByIdentity:
lastUpdatedIdentity:
assigneeIdentity:
submitterIdentity:
requesterIdentity:
identityTimestamped:
lastUpdatedConversationDate:
lastUpdatedDate:
</code></pre>
<p>我该如何把这个和值放到一个数据帧中。你知道吗</p>