我正在尝试将csv文件转换为嵌套的json:我正在寻找类似这样的json输出
以下是我的json数据:
[
{
"RID":"test",
"UId":"userl@gmail.com",
"Ugroup":"abc",
"Query":[
{
"Status":"query1",
"ECategory":"error1"
},
{
"Status":"query2",
"ECategory":"error2"
}
],
"SuccesfulQ":"7",
"FailedQ":"0"
},
{
"RID":"test2",
"Uld":"user2@gmail.com",
"Ugroup":"xyz",
"Query":[
{
"Statement":"query3",
"ECategory":"error3"
},
{
"Statement":"query4",
"ECategory":"error4"
}
],
"SuccesfulQ":"7",
"FailedQ":"0"
}
]
这是我的CSV文件
[csvfile][2]
RID,UId,Ugroup,Query.Statement,Query.ECategory,SuccesfulQ,FailedQ
test,user1@gmail.com,abc,query1,error1, 7, 0
test,user1@gmail.com,abc,query2,error2 7, 0
test2,user2@gmail.com,xyz,query3,error3 7, 0
test2,user2@gmail.com,xyz,query4,error4 7, 0
使用下面的代码,我得到的是普通的json而不是嵌套的json:
import csv
import json
def make_json(csvFilePath):
data = {}
with open(csvFilePath, encoding='utf-8') as csvf:
a = [{k:v for k,v in row.items()} for row in csv.DictReader(csvf, skipinitialspace=True)]
print(a)
csvFilePath = r'table.csv'
make_json(csvFilePath)
在这种情况下,在创建字典列表之后,您可以在奇数行上进行迭代,并从偶数行中追加数据。之后,您可以使用
json.dumps
将完整列表转换为json试试这个代码。它假设每个用户查询2行:
输出
相关问题 更多 >
编程相关推荐