使用python从CSV文件创建具有以下结构的json文件
嗨,我有一个Csv文件,它是这样的使用python从CSV文件创建具有以下结构的json文件,python,json,converters,Python,Json,Converters,嗨,我有一个Csv文件,它是这样的 start_index end_index Scalar API 0 30 zone0.pkl zone0-0 30 60 zone1.pkl zone1-1 60 65 zone2.pkl zone2-2 我必须创建一个json文件,其格式如
start_index end_index Scalar API
0 30 zone0.pkl zone0-0
30 60 zone1.pkl zone1-1
60 65 zone2.pkl zone2-2
我必须创建一个json文件,其格式如下
{
"channel1": {
"0": [{
"scalar": "/zone0.pkl",
"api": "/model/zone0-0"
}],
"1": [{
"scalar": "/zone0.pkl",
"api": "/model/zone0-0"
}]
},
但我需要添加一些功能,即第一行的开始索引和结束索引是0和30。因此,上述内容应复制30次(0位置从0更改为30),并且“标量”和“api”
对于30个文件应保持不变
现在是第二行,开始索引和结束索引分别为30和60。现在,上面的表单应该复制30次,“标量”和“api”
更改为相应的第二行
类似地,它必须对对象通过(end\u index-start\u index)
复制的所有行执行此操作,这不一定总是30,并且的“标量”和“api”也会相应地改变
如果我对任何一点强调不足或过度,请在评论中告诉我。试试看
导入json
def create_json(start, end, scalar, api):
start_idx = start
end_idx = end
scalar = scalar
api = api
res = dict()
res["channel1"] = dict()
for i in range(start_idx, end_idx):
res["channel1"][i] = {"scalar": scalar, "api": api}
json_res = json.dumps(res, indent=4)
return json_res
print(create_json(0, 30, "zone0.pkl", "zone0-0"))
print(create_json(30, 60, "zone1.pkl", "zone1-1"))
什么阻碍了你?你试过编写代码吗?如果是的话,你可以告诉我们,我们的想法是加载CSV作为数据框,然后转换为JSON。我被困在如何复制它(结束start)时间,那么下一行怎么样?我们把上面的代码看作是一个函数,所以你将通过start=30,结束=60,标量=“ZON1.1.PKL”,API =“ZONE2-2”,我在“Chhanel1”上面编辑了我的答案。对每个json对象重复!而且我没有得到想要的形式,在每个通道2后面还有一个花括号,也就是说它看起来像{“通道2”:{}