我是python的新手,我有一个需要转换为CSV的大型JSON文件 - 下面是一个示例
{
"status":"success",
"Name":"Theresa May",
"Location":"87654321",
"AccountCategory":"Business",
"AccountType":"Current",
"TicketNo":"12345-12",
"AvailableBal":"12775.0400",
"BookBa":"123475.0400",
"TotalCredit":"1234567",
"TotalDebit":"0",
"Usage":"5",
"Period":"May 11 2014 to Jul 11 2014",
"Currency":"GBP",
"Applicants":"Angel",
"Signatories":[
{
"Name":"Not Available",
"BVB":"Not Available"
}
],
"Details":[
{
"PTransactionDate":"24-Jul-14",
"PValueDate":"24-Jul-13",
"PNarration":"Cash Deposit",
"PCredit":"0.0000",
"PDebit":"40003.0000",
"PBalance":"40003.0000"
},
{
"PTransactionDate":"24-Jul-14",
"PValueDate":"23-Jul-14",
"PTest":"Cash Deposit",
"PCredit":"0.0000",
"PDebit":"40003.0000",
"PBalance":"40003.0000"
},
{
"PTransactionDate":"25-Jul-14",
"PValueDate":"22-Jul-14",
"PTest":"Cash Deposit",
"PCredit":"0.0000",
"PDebit":"40003.0000",
"PBalance":"40003.0000"
},
{
"PTransactionDate":"25-Jul-14",
"PValueDate":"21-Jul-14",
"PTest":"Cash Deposit",
"PCredit":"0.0000",
"PDebit":"40003.0000",
"PBalance":"40003.0000"
},
{
"PTransactionDate":"25-Jul-14",
"PValueDate":"20-Jul-14",
"PTest":"Cash Deposit",
"PCredit":"0.0000",
"PDebit":"40003.0000",
"PBalance":"40003.0000"
}
]
}
我需要将其显示为
名称,状态,位置,accountcategory,accounttype,availablebal,totalcredit,totaldebit等列,
使用pcredit,pdebit,pbalance,ptransactiondate,pvaluedate和' ptest'每行都有新值,如JSON文件所示
我设法将此脚本从stackoverflow放在一起,并输出一个csv文件,但它现在显示的是csv文件中有我需要的标题,还输出状态,名称,然而,从ptransactiondate直到结尾的json内容的其余部分实际上是在单个列的内部'详细信息' - 我将如何获得其余部分(如pcredit,pdebit,ptransaction等等?还有自己的列?
请参阅下面的我的python脚本 - 我可以提供一些关于再次改变的建议吗?感谢
import csv
import json
with open("BankStatementJSON1.json", "r") as inputFile: # open json file
data = json.loads(inputFile.read()) # load json content
with open("testing.csv", "w") as outputFile: # open csv file
output = csv.DictWriter(outputFile, data.keys()) # create a writer
output.writeheader()
output.writerow(data)
请参阅图片,了解我的CSV文件的样子,以及我需要的样子。 view JSON Output images