在python中将嵌套的JSON文件转换为数据帧

在python中将嵌套的JSON文件转换为数据帧,python,json,Python,Json,我有一个JSON文件,它有深度嵌套的列,我看到了这篇文章 我试过这个密码 df = pd.DataFrame.from_dict(json_normalize(data), orient='columns') 它可以工作,但只需要第一个嵌套, 例如,我有一列实体每行都是这样的: {'hashtags': [{'text': 'ط±ظˆظٹظ‡_ط§ظ„ط¹ظ„ط§', 'indices': [65, 76]}], 'urls': [], 'user_mentions': [{'screen

我有一个JSON文件,它有深度嵌套的列,我看到了这篇文章

我试过这个密码

 df = pd.DataFrame.from_dict(json_normalize(data), orient='columns')
它可以工作,但只需要第一个嵌套, 例如,我有一列
实体
每行都是这样的:

{'hashtags': [{'text': 'ط±ظˆظٹظ‡_ط§ظ„ط¹ظ„ط§', 'indices': [65, 76]}], 'urls': [], 'user_mentions': [{'screen_name': 'a_albander', 'name': 'ط¹ط¨ط¯ط§ظ„ظ„ظ‡ ط§ظ„ط¨ظ†ط¯ط±', 'id': 248141082, 'id_str': '248141082', 'indices': [3, 14]}], 'symbols': [], 'media': [{'id': 1094650709386121218, 'id_str': '1094650709386121218', 'indices': [115, 138], 'additional_media_info': {'monetizable': False}, 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/1094650709386121218/pu/img/W_V9kGPCPdgI3_G1.jpg', 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/1094650709386121218/pu/img/W_V9kGPCPdgI3_G1.jpg', 'url': '', 'display_url': 'pic.twitter.com/iKMkqHCZbd', 'expanded_url': 'https://twitter.com/a_albander/status/1094651355287994369/video/1', 'type': 'photo', 'sizes': {'thumb': {'w': 150, 'h': 150, 'resize': 'crop'}, 'medium': {'w': 1200, 'h': 675, 'resize': 'fit'}, 'small': {'w': 680, 'h': 383, 'resize': 'fit'}, 'large': {'w': 1280, 'h': 720, 'resize': 'fit'}}, 'source_status_id': 1094651355287994369, 'source_status_id_str': '1094651355287994369', 'source_user_id': 248141082, 'source_user_id_str': '248141082'}]}
因此,当我尝试上面的代码时,我会将每个对象放在一个单独的列中,如下所示

entities.hashtags, entities.media, entities.symbols, entities.urls, entities.user_mentions ....etc.
但正如您所看到的
实体。hashtags
也有嵌套的列,没有拆分为单独的列

[{'text': 'ط´طھط§ط،_ط·ظ†ط·ظˆط±ط©', 'indices': [89, 101]}]
我怎么能把他们分成这样

entities.hashtags.text ,entities.hashtags.indices

有什么帮助吗?谢谢你

我不认为你能用你目前的JSON结构和
JSON\u规范化
实现你想要的。您的
hashtags
属性是一个项目列表,无法将多个项目关联到数据框中的一行。如果
hashtags
实际上应该是一个项目,如您的示例所示,如果您不将其列为一个列表,它可能会起作用(
hashtags:{'text':'text':'u1591;±ɐɐ§§§§,'index':[65,76]}
)。那么如何做到这一点呢?有什么例子吗?我不认为您可以通过当前的JSON结构和
JSON\u规范化
实现您的愿望。您的
hashtags
属性是一个项目列表,无法将多个项目关联到数据框中的一行。如果
hashtags
实际上应该是一个单独的项目,如您的示例中所示,如果您不将其列为一个列表(
hashtags':{'text':'text':'1591±ɐɐ710ɐɐ§§§§§§,'index':[65,76]}
),那么如何做到这一点呢?