当前位置: 首页 > 面试题库 >

如何在python中将json转换为csv

淳于嘉树
2023-03-14
问题内容

以下是我的json文件输入

{"userID": "679d3bad-155e-4b39-9ff7-7d564f408942", "Is salary credited before 5th": "Yes", "Avg Salary of last 3 months": 15453.33, "Avg Salary of last 6 months": 15290.5, "Avg Balance before salary of last 3 months": 113.15, "Avg Balance before salary of last 6 months": 105.22}

    with open('/Users/vrindabv/Documents/PycharmProjects/BankStatementEngine/test.json', "r") as f:
        BankData = json.loads(f.read())
    x = json.loads(json.dumps(BankData))
    f = csv.writer(open("/Users/vrindabv/Documents/PycharmProjects/BankStatementEngine/test.csv", "w"))
    f.writerow(["userID", "Is salary credited before 5th", "Avg Salary of last 3 months", "Avg Salary of last 6 months", "Avg Balance before salary of last 3 months", "Avg Balance before salary of last 6 months"])

    for y in x:
        f.writerow([x["userID"], x["Is salary credited before 5th"],
                    x["Avg Salary of last 3 months"],
                    x["Avg Salary of last 6 months"],
                    x["Avg Balance before salary of last 3 months"],
                    x["Avg Balance before salary of last 6 months"]])

输出量

userID,Is salary credited before 5th,Avg Salary of last 3 months,Avg Salary of last 6 months,Avg Balance before salary of last 3 months,Avg Balance before salary of last 6 months
679d3bad-155e-4b39-9ff7-7d564f408942,Yes,15453.33,15290.5,113.15,105.22
679d3bad-155e-4b39-9ff7-7d564f408942,Yes,15453.33,15290.5,113.15,105.22
679d3bad-155e-4b39-9ff7-7d564f408942,Yes,15453.33,15290.5,113.15,105.22
679d3bad-155e-4b39-9ff7-7d564f408942,Yes,15453.33,15290.5,113.15,105.22
679d3bad-155e-4b39-9ff7-7d564f408942,Yes,15453.33,15290.5,113.15,105.22
679d3bad-155e-4b39-9ff7-7d564f408942,Yes,15453.33,15290.5,113.15,105.22
679d3bad-155e-4b39-9ff7-7d564f408942,Yes,15453.33,15290.5,113.15,105.22

因此,在这里我确实得到了答案,但是没有打印一次,而是打印了7次。如何解决此问题。


问题答案:

BankData是一个字典,您不需要对其进行迭代。您可以使用键直接访问值。

例如:

import csv
import json

with open('/Users/vrindabv/Documents/PycharmProjects/BankStatementEngine/test.json') as infile:
    BankData = json.loads(infile.read())

with open("/Users/vrindabv/Documents/PycharmProjects/BankStatementEngine/test.csv", "w") as outfile:
    f = csv.writer(outfile)
    f.writerow(["userID", "Is salary credited before 5th", "Avg Salary of last 3 months", "Avg Salary of last 6 months", "Avg Balance before salary of last 3 months", "Avg Balance before salary of last 6 months"])
    f.writerow([BankData["userID"], BankData["Is salary credited before 5th"],
                BankData["Avg Salary of last 3 months"],
                BankData["Avg Salary of last 6 months"],
                BankData["Avg Balance before salary of last 3 months"],
                BankData["Avg Balance before salary of last 6 months"]])


 类似资料:
  • 问题内容: 我对编程非常陌生,过去3/4星期一直在学习python,这是给出的作业之一。 输入项 输出量 我一直在尝试代码为: 此代码的输出如下: 谁可以帮我这个事? 问题答案: 处理完整行后转储。

  • 问题内容: 我正在App Engine上进行一些工作,我需要将从远程服务器检索到的XML文档转换为等效的JSON对象。 我用来解析由返回的XML数据。我还尝试使用将已解析的XML文档转换为JSON。我对如何将两者钩在一起完全不知所措。以下是我要修改的代码: 问题答案: Soviut对于lxml objectify的建议是好的。使用特殊子类化的simplejson,您可以将lxml对象化结果转换为j

  • 问题内容: 我有一个要转换为CSV文件的JSON文件。如何使用Python执行此操作? 我试过了: 但是,它没有用。我正在使用Django,收到的错误是: 然后,我尝试了以下方法: 然后我得到错误: 样本json文件: 问题答案: 首先,你的JSON具有嵌套对象,因此通常无法直接将其转换为CSV。你需要将其更改为以下内容: 这是从中生成CSV的代码: 你将获得以下输出:

  • 问题内容: 我在SO上看到许多问题,询问将XML转换为JSON的方法,但我对采用其他方法感兴趣。是否有用于将JSON转换为XML的python库? 编辑: 什么都没有马上回来,所以我继续写了一个脚本来解决这个问题。 Python已经允许您将JSON转换为本地dict(使用或在版本2.6以下的中,),因此我编写了一个库,可将本地dict 转换为XML字符串。 https://github.com/q

  • 问题内容: 我需要传递一个可以使用转换的对象。查询如下所示: 为了传递可以转换为json的HttpResponse对象,我从这里需要做什么? 问题答案: 好吧,如果您只是这样做: 你会得到一个数组数组… 另一种方法是使用: 这将为您提供一个带有索引的json对象… 如果那不是您想要的,那么您需要指定结果的显示方式…

  • 我需要将ndjson对象转换为python中的json,我看到pypi中有一个库。org,但我不能使用它,它是ndjson 0.3.1 进入json 有什么帮助吗?谢谢你们