【问题标题】:Write a JSON String to CSV using Python使用 Python 将 JSON 字符串写入 CSV
【发布时间】:2020-10-27 08:58:53
【问题描述】:

我知道这个问题已经被问过很多次了。我尝试了几种解决方案,但都无法解决我的问题。

我有一个嵌套的 JSON 文件,我想将其转换为 CSV 文件。

JSON结构是这样的:

[
  {
    "audio_analysis": [
      {
        "audio_percentage": 0.10006836243325763,
        "audio_completed": false,
        "audio_fast_forwarded": false,
        "audio_rewinded": false,
        "episode_downloaded": true,
        "listened_episode_time": 1799,
        "episode": 1,
        "elapsed_time": 1799,
        "location": {
          "": ""
        }
      },
      {
        "audio_percentage": 0.10290520872791918,
        "audio_completed": false,
        "audio_fast_forwarded": true,
        "audio_rewinded": true,
        "episode_downloaded": true,
        "listened_episode_time": 1850,
        "episode": 1,
        "elapsed_time": 1850,
        "location": {
          "": ""
        }
      }
    ],
    "correct_answers": 1,
    "count_completed_episodes": 0,
    "count_downloaded_episodes": 2,
    "total_time_spent_listening": 3649,
    "season": "Tiraarka Qoyska - Taxanaha 1aad",
    "user": "Joseph Kimani"
  }
]

所需的输出应采用以下链接中附加的格式。

csv output

【问题讨论】:

标签: python


【解决方案1】:

pandas.normalize() 设置记录 (record_path ) 和其他列 (meta)。

data = pd.json_normalize(data, record_path='audio_analysis', meta=['correct_answers','count_completed_episodes','count_downloaded_episodes','total_time_spent_listening','season','user'])
data.to_csv('filename.csv')

    audio_percentage    audio_completed audio_fast_forwarded    audio_rewinded  episode_downloaded  listened_episode_time   episode elapsed_time    location.   correct_answers count_completed_episodes    count_downloaded_episodes   total_time_spent_listening  season  user
0   0.100068    False   False   False   True    1799    1   1799        1   0   2   3649    Tiraarka Qoyska - Taxanaha 1aad Joseph Kimani
1   0.102905    False   True    True    True    1850    1   1850        1   0   2   3649    Tiraarka Qoyska - Taxanaha 1aad Joseph Kimani

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2019-03-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 2016-06-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多