我有以下flask函数,我想返回一个有效的json resp
modified_results = modified_results.groupby(['some_type'])
tempResult = {}
for groupName, group in modified_results:
df = group.drop(columns=['some_type'])
tempResult[groupName] = processHours(df, project_code).to_json(orient='records')
return jsonify(tempResult)
我正在以我希望的格式获得响应,除了有转义字符,并且tempResult字典将整个数据帧作为键标签的一个对象值。
如何将这样的字典合并成json:
dictObj = {key1:pd.DataFrame(), key2: pd.DataFrame()}
resp = dictObj.to_json()
return resp
谢谢。
答案 0 :(得分:0)
我确实得到了答案,但是to_json默默地忽略了索引值。这就是我所做的。
modified_results = modified_results.groupby(['some_type'])
newResults = {}
for groupName, group in modified_results:
df = group.drop(columns=['some_type'])
newResults[groupName] = processHours(df, project_code)
df_keys = pd.concat(newResults)
return df_keys.to_json(index=True, orient='records')
index=True
参数无效。
该问题当前似乎已打开= Github Open Bug
另一种解决方案是将键添加为列,并在收到响应后对其进行过滤(这不是实际的解决方案):
modified_results = modified_results.groupby(['some_type'])
newResults = {}
for groupName, group in modified_results:
df = group.drop(columns=['some_type'])
df = processHours(df, project_code)
df = df.assign(some_type=[groupName]*len(df))
newResults[groupName] = df
resp = pd.concat(newResults)
return resp.to_json(index=True, orient='records')