← 返回题库
中级

解析温室集控网关批量上报

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd, json
    devs_csv = open_url(____).read()
    devs = pd.read_csv(StringIO(____))
    valid_ids = set(____)
    PARSERS = {'____':'____','____':'____','____':'____','____':'____'}
    def parse_gateway_batch(____):
        p = json.loads(____)
        dispatched = {}; rejected = []
        for item in p.get(____):
            did = item.get(____)
            rtype = item.get(____)
            if did not in valid_ids:
                rejected.append(____)
            else:
                parser = PARSERS.get(____)
                dispatched.setdefault(____).append(____)
        return {'____':p.get(____),'____':dispatched,'____':rejected}
    payload = '____'
    result = parse_gateway_batch(____)
    print(____)
    for parser, devs_list in result['____'].items():
        print("____" + parser + "____" + str(____))
    print("____" + str(____))

示例

输入
solve()
期望输出
Gateway: GW-FARM
  soil_parser: ['SOIL-A01']
  weather_parser: ['WS-001']
  fert_parser: ['FERT-A01']
  rejected: [{'device_id': 'SOIL-X99', 'reason': 'unknown_device'}]
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码