使用Python将JSON转换为CSV

时间:2018-11-21 16:17:51

标签: python json csv

最近开始使用Python,尽管取得了很多成功,但有一件事情让我发疯了-Python如何处理JSON!

我试图将其输出为CSV,对于简单的JSON(没有多个对象),一切都很好,但是在下面的示例中,我只是无法使其工作。我到处都是错误,无论是键错误还是dict vs字符串错误-然后在尝试使用csv writer或pandas写入csv时,它们的差异甚至更大。 因此,我故意避免粘贴所有尝试,以尝试是否有一种标准的方法来解决此问题,而又不影响我一直尝试的方向:)

使用response = requests.get(url)

的JSON示例(来自URL的响应)

{
  "body": {
    "stores": [
      {
        "id": "1002",
        "groupId": "aberdeen",
        "displayName": "Aberdeen",
        "link": "/store/aberdeen",
        "address": "123, TheRoad, A24 8EN, Aberdeen",
        "Url": "https://web.co.uk",
        "other": false,
        "other1": null
      },
      {
        "id": "1234",
        "groupId": "Basingstoke",
        "displayName": "Basingstoke",
        "link": "/store/Basingstoke",
        "address": "Union Square, The Square, BA11 5RG, Basingstoke",
        "Url": "https://web.co.uk",
        "other": false,
        "other1": null
      },...

有人对如何实现这一目标有任何想法吗? 理想情况下,我希望导出CSV,如下所示:

ID,GroupID,DisplayName

8014,阿伯丁,阿伯丁

8018,贝辛斯托克,贝辛斯托克

...

谢谢 艾米

1 个答案:

答案 0 :(得分:0)

import pandas as pd
pd.DataFrame(d['body']['stores']).to_csv('my_file.csv')