我需要将CSV数据文件转换为Python中的嵌套JSON。我下面当前的Python代码对于1个Customer/Accounts文档可以正常工作,但是不知何故无法为CSV文件中的所有客户创建json转储。在
我提供了下面的Python代码,它将使您对我要实现的目标有一些了解。请让我知道,如果有任何现有的决议,这一点。在
Python代码示例:
import pandas as pd
from itertools import groupby
from collections import OrderedDict
import json
df = pd.read_csv('cust.csv', dtype={
"ClientID" : str,
"ClientName" : str,
"AcctID" : str,
"AcctNbr" : str,
"AcctTyp" : str
})
results = []
for (ClientID, ClientName), bag in df.groupby(["ClientID", "ClientName"]):
contents_df = bag.drop(["ClientID", "ClientName"], axis=1)
subset = [OrderedDict(row) for i,row in contents_df.iterrows()]
results.append(OrderedDict([("ClientID", ClientID),("ClientName", ClientName),("subset", subset)]))
print json.dumps(results[0], indent=4)
with open('ExpectedJsonFile.json', 'w') as outfile:
outfile.write(json.dumps(results[0], indent=4))
输入CSV示例:
^{pr2}$所需输出JSON:
{
"clientId":00001,
"ClientName":"John George",
"subset":[
{
"AcctID":812001,
"AcctNbr":"812001095",
"AcctTyp":"DDA",
},
{
"AcctID":813002,
"AcctNbr":"813002096",
"AcctTyp":"SAV",
},
{
"AcctID":814003,
"AcctNbr":"814003097",
"AcctTyp":"AFS",
}
]
},
{
"clientId":00024,
"ClientName":"Richard Polado",
"subset":[
{
"AcctID":512987,
"AcctNbr":"512987085",
"AcctTyp":"ML",
},
{
"AcctID":512983,
"AcctNbr":"512983086",
"AcctTyp":"IL",
}
]
}
这些文档应该继续为其他成千上万的客户创建。在
解按
'ClientID','ClientName'
对分组你的数据帧
现在呢
^{pr2}$给出:
^{3}$这就是你想要的吗?在
使用
dictList.append(anotherDict.copy())
否则将在列表中获得相同的dict对象。在有关此问题的详细信息: Create List of Dictionary Python
相关问题 更多 >
编程相关推荐