python - 将嵌套的 json 读取为 pandas 数据框
问题描述
尝试将嵌套的 json 作为 pandas 数据帧读入,但不断收到错误消息
ValueError: Mixing dicts with non-Series may lead to ambiguous ordering.
这是我尝试过的:
import json
file = json.load(open('../Datasets/MathNYC.json'))
file = pd.DataFrame(file)
我也尝试过使用 json_normalize 而是获取单行数据而不是多行数据
pd.DataFrame(pd.io.json.json_normalize(file))
这是我的数据示例:
{'meta': {'view': {'id': 'x4ai-kstz',
'name': '2013-2017 School Math Results - Gender',
'averageRating': 0,
'category': 'Education',
'createdAt': 1506355113,
'displayType': 'table',
'downloadCount': 1106,
'hideFromCatalog': False,
'hideFromDataJson': False,
'indexUpdatedAt': 1536602847,
'locale': 'en_US',
'newBackend': True,
'numberOfComments': 0,
'oid': 26867540,
'provenance': 'official',
'publicationAppendEnabled': False,
'publicationDate': 1506356065,
'publicationGroup': 14486436,
'publicationStage': 'published',
'rowClass': '',
'rowsUpdatedAt': 1506355132,
'rowsUpdatedBy': 'fn2b-3u6b',
'tableId': 14486436,
'totalTimesRated': 0,
'viewCount': 370,
'viewLastModified': 1549924017,
'viewType': 'tabular',
'approvals': [{'reviewedAt': 1506356065,
'reviewedAutomatically': True,
'state': 'approved',
'submissionId': 1068765,
'submissionObject': 'public_audience_request',
'submissionOutcome': 'change_audience',
'submittedAt': 1506356065,
'workflowId': 2285,
'submissionDetails': {'permissionType': 'READ'},
'submissionOutcomeApplication': {'failureCount': 0, 'status': 'success'},
'submitter': {'id': 'fn2b-3u6b', 'displayName': 'Jose Beiro'}}],
'columns': [{'id': -1,
'name': 'sid',
'dataTypeName': 'meta_data',
'fieldName': ':sid',
'position': 0,
'renderTypeName': 'meta_data',
'format': {},
'flags': ['hidden']},
{'id': -1,
'name': 'id',
'dataTypeName': 'meta_data',
'fieldName': ':id',
'position': 0,
'renderTypeName': 'meta_data',
'format': {},
'flags': ['hidden']},
{'id': -1,
'name': 'position',
'dataTypeName': 'meta_data',
'fieldName': ':position',
'position': 0,
'renderTypeName': 'meta_data',
'format': {},
'flags': ['hidden']},
{'id': -1,
'name': 'created_at',
'dataTypeName': 'meta_data',
'fieldName': ':created_at',
'position': 0,
'renderTypeName': 'meta_data',
'format': {},
'flags': ['hidden']},
{'id': -1,
'name': 'created_meta',
'dataTypeName': 'meta_data',
'fieldName': ':created_meta',
'position': 0,
'renderTypeName': 'meta_data',
'format': {},
'flags': ['hidden']},
{'id': -1,
'name': 'updated_at',
'dataTypeName': 'meta_data',
'fieldName': ':updated_at',
'position': 0,
'renderTypeName': 'meta_data',
'format': {},
'flags': ['hidden']}]}}}
解决方案
推荐阅读
- javascript - 如何在不“重新启动”进程的情况下重新加载sails.js 应用程序?
- c# - 从 C# 列表创建数据框 - Spark for .NET
- php - 重定向后我需要将用户的数据保留在表单字段中
- tfs - 重命名计算机破坏了 TFS 绑定
- javascript - 在Javascript中删除数组中每个数组的第一项
- r - split.default(questionlist, gr) 中的错误:第一个参数必须是向量
- c# - 带有数学运算的动态字符串插值
- java - 消费者在 Kotlin 中找不到
- java - 如何在字符串中的每个字符之间生成随机字符?
- html - 何时以及何时不使用 role="button"