You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于接口键值合并Python采集的多组思科交换机端口查询数据

合并端口信息的实现方案
  • 先把interface_list1(端口描述数据)和interface_list2(LLDP邻居数据)转换为以interface为键的字典,提升匹配效率
  • 遍历存储端口交换属性的interface_list,依次合并对应端口的描述、LLDP邻居字段
  • 不存在的字段默认填充空字符串,保证格式统一

直接把以下代码追加到你现有脚本的末尾即可运行得到预期结果:

# 转换描述和LLDP列表为字典,方便快速匹配
desc_map = {item["interface"]: item for item in interface_list1}
lldp_map = {item["interface"]: item for item in interface_list2}

# 合并三类数据
final_port_info = []
for base_info in interface_list:
    merge_item = base_info.copy()
    # 合并描述字段,无匹配数据则补空
    merge_item.update(desc_map.get(merge_item["interface"], {"descrip": ""}))
    # 合并LLDP邻居字段,无匹配数据则补空
    merge_item.update(lldp_map.get(merge_item["interface"], {"neighbor": ""}))
    final_port_info.append(merge_item)

# 输出合并后的结果
print(json.dumps(final_port_info, indent=2))

运行后输出的单条数据格式如下:

{
  "interface": "Gi0/1",
  "admin_mode": "static access",
  "access_vlan": "3216",
  "voice_vlan": "none",
  "trunking_vlans": [
    "ALL"
  ],
  "descrip": "Interface Gi0/1",
  "neighbor": ""
}

内容的提问来源于stack exchange,提问作者Richard Lucht

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 09:00:02