Python 使用itertool 实现nested array

terrydidi 2019-01-11 10:04:38
我正在把csv 文件转换成json格式。目前我只实现了两个array,第三个array加在第二个个。代码如下


import csv
import json
from itertools import groupby

with open('ledgers.csv', 'r') as csv_ledger:
r = csv.DictReader(csv_ledger)
data = [dict(d) for d in r]

groups = []
coa_data = []

for k, g in groupby(data, lambda r: (r['ref_num'], r['date'])):
groups.append({
"date": k[1],
"ref_num": k[0],
"info": [{k: v for k, v in d.items() if k in ['debit', 'credit','description']} for d in list(g)]
})


目前结果
{
"date": "2016-07-01",
"ref_num": "D16-07-1002",
"items": [
{
"description": "GRAAAB APP SUBCRIPTION FEE",
"debit": "805.00",
"info": ""
},
]
}

想要的结果
{
"date": "2016-07-01",
"ref_num": "D16-07-1002",
"items": [
{
"description": "GRAAAB APP SUBCRIPTION FEE",
"debit": "805.00",
"info": {"email": "abc@hotmail.com",
"code": "300-E003",
"name": "Jacky"}
},
]
}



...全文
26 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧