使用python从CSV文件创建具有以下结构的json文件

问题描述 投票:2回答:1

嗨我有一个像这样的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

如果我没有强调或过分强调任何一点,请在评论中告诉我。

python json converters
1个回答
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"))
© www.soinside.com 2019 - 2024. All rights reserved.