我正在尝试从csv文件生成json请求表单。REST Web服务需要此请求表单
示例输入文件:
Id,LineNo,Amt,ReceivedDt,FromDt,ToDate
123545,1,1000.00,2019-02-01T00:00:00,2019-02-01T00:00:00,2019-02-01T00:00:00
123545,2,200.00,2019-02-01T00:00:00,2019-02-01T00:00:00,2019-02-01T00:00:00
123546,1,200.00,2019-02-01T00:00:00,2019-02-01T00:00:00,2019-02-01T00:00:00
按照上述结构,文件中有更多记录。一个Id可以有多个行号,所有这些记录都应该在一个集合中
所需格式:
{
"consumerData": {
"clientCode": "CLINIC",
"instance": "P",
"userId": ""
},
"gfsauthdata": [
{
"ToDate": "2019-02-01T00:00:00",
"ReceivedDt": "2019-02-01T00:00:00",
"Id": "123545",
"LineNo": "1",
"Amt": "1000.00",
"FromDt": "2019-02-01T00:00:00"
},
{
"ToDate": "2019-02-01T00:00:00",
"ReceivedDt": "2019-02-01T00:00:00",
"Id": "123545",
"LineNo": "2",
"Amt": "200.00",
"FromDt": "2019-02-01T00:00:00"
}
]
},
{
"consumerData": {
"clientCode": "CLINIC",
"instance": "P",
"userId": ""
},
"gfsauthdata":
{
"ToDate": "2019-02-01T00:00:00",
"ReceivedDt": "2019-02-01T00:00:00",
"Id": "123546",
"LineNo": "1",
"Amt": "200.00",
"FromDt": "2019-02-01T00:00:00"
}
}
我无法将记录分为不同的组。请建议一些方法把它分开。我使用下面的代码将csv转换为json,但所有记录都是一组
代码:
import json,csv
with open('Test.csv') as f:
inputfile = csv.DictReader(f)
output = []
for row in inputfile :
#j = json.dumps(row, indent=4)
output.append(row)
data = {
'consumerData': {
'clientCode': 'CLINIC',
'instance': 'P',
'userId': ''
},
'gfsauthdata': output
}
print(json.dumps(data, indent=4))
您认为您的数据结构是错误的。您应该这样使用dict:
相关问题 更多 >
编程相关推荐