使用python

时间:2019-03-13 14:12:58

标签: 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文件,使其具有以下格式

{
    "channel1": {
        "0": [{
            "scalar": "/zone0.pkl",
            "api": "/model/zone0-0"
        }],
        "1": [{
            "scalar": "/zone0.pkl",
            "api": "/model/zone0-0"
        }]
    },

但是我需要添加一些功能,即第一行的start_index and end_index是0和30。因此上面的代码应该复制30次(“ 0”位置从0变为30)和"scalar" and "api"应该对30个文件保持不变。

现在是第二行,其start index and end index分别为30和60。现在,上述表格应复制30次,"scalar" and "api"更改为相应的第二行。

类似地,它必须用(end_index-start_index)复制对象的所有行(不必总是为30,并且"Scalar" and "api"相应地改变)。我使用 PYTHON

如果我强调不足或强调过多,请在评论中让我知道。

1 个答案:

答案 0 :(得分:1)

尝试

导入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"))