我想将我的Python脚本输出存储到下面的JSon格式:
[{
"ids": "1",
"result1": ["1","2","3","4"],
"result2": ["4","5","6","1"]
},
{
"ids": "2",
"result1": ["3","4"],
"result2": ["4","5","6","1"]
}]
我的代码如下
for i in df.id.unique():
ids = i
results1 = someFunction(i)
results2 = someFunction2(i)
df_result_int = ["ids : %s" %ids , "results1 : %s" %results1, "results2 : %s" %results2]
df_results.append(df_result_int)
jsonData = json.dumps(df_results)
with open('JSONData.json', 'w') as f:
json.dump(jsonData, f)
someFunction()和someFunction2()返回一个列表。
提前谢谢。
答案 0 :(得分:0)
你不应该手动将列表转换为字符串,json.dumps会为你做。请改用字典。这是一个例子:
df_results = []
results1 = [1,1]
results2 = [2,2]
df_result_int = {"ids" : 1, "results1" : results1, "results2" : results2}
df_results.append(df_result_int)
json.dumps(df_results)
这将导致:
[{"results2": [2, 2], "ids": 1, "results1": [1, 1]}]
答案 1 :(得分:0)
pandas数据帧有一种方法,允许您将数据帧直接转储到json文件。这里是文档的链接:
to_json
你可以使用像
df.reset_index().to_json(orient='records')
其中df是您之前已经进行过某种操作的数据帧(例如您希望应用的函数等),它取决于您在json文件中所需的信息以及如何安排。