我有以下csv文件(1.csv):CSV到多层次的JSON结构
"STUB_1","current_week","previous_week","weekly_diff" "Crude Oil",1184.951,1191.649,-6.698
需要转换到以下JSON
json_body = [
{
"measurement":"Crude Oil",
"fields":
{
"weekly_diff":-6.698,
"current_week":1184.951,
"previous_week":1191.649
}
}
]
df = pd.read_csv("1.csv")
df = df.rename(columns={'STUB_1': 'measurement'})
j = (df.groupby(['measurement'], as_index=True)
.apply(lambda x: x[['current_week','previous_week', 'weekly_diff']].to_dict('r'))
.reset_index()
.rename(columns={0:'fields'})
.to_json(orient='records'))
print j
输出:
[ { "measurement": "Crude Oil", "fields": [ #extra bracket { "weekly_diff": -6.698, "current_week": 1184.951, "previous_week": 1191.649 } ] # extra bracket } ]
这几乎是我所需要的,但额外的[]。
任何人都可以帮助我做错了什么?谢谢!
为什么所有使用'pandas'编排这样简单的任务?你会得到'额外括号',因为你将它定义为一个索引,因此该索引下的所有内容都是序列化时列表中的一个元素。 – zwer
谢谢。如果索引不是一个好的方法,我应该把它定义为什么适当的结构。 –