2024-09-13 16:05:16 +08:00
|
|
|
|
# -*- encoding:utf-8 -*-
|
2024-09-13 15:03:55 +08:00
|
|
|
|
def postprocess(data):
|
2024-09-13 16:05:16 +08:00
|
|
|
|
"""递归地转换字典中的值为列表,如果所有键对应的值都是'/', '{}' 或 '未知'"""
|
|
|
|
|
def convert_dict(value):
|
|
|
|
|
# 如果所有值是'/', '{}' 或 '未知'
|
2024-09-13 15:03:55 +08:00
|
|
|
|
if all(v in ['/', '未知', {}] for v in value.values()):
|
2024-09-13 16:05:16 +08:00
|
|
|
|
return list(value.keys())
|
|
|
|
|
else:
|
|
|
|
|
# 如果不满足条件,则递归处理嵌套的字典
|
|
|
|
|
return {k: convert_dict(v) if isinstance(v, dict) else v for k, v in value.items()}
|
|
|
|
|
|
|
|
|
|
# 递归处理顶层数据
|
|
|
|
|
return {key: convert_dict(val) if isinstance(val, dict) else val for key, val in data.items()}
|
|
|
|
|
|
2024-09-13 15:03:55 +08:00
|
|
|
|
|
|
|
|
|
# 示例数据
|
|
|
|
|
data = {
|
2024-09-13 16:05:16 +08:00
|
|
|
|
"第一包": {
|
|
|
|
|
"办公电子设备": {
|
|
|
|
|
"技术参数或采购要求": "1、服务器、台式计算机、便携式计算机、信息安全设备、喷墨打印机、激光打印机、针式打印机、液晶显示器、扫描仪、基础软件、信息安全软件、复印机、投影仪、多功能一体机、触控一体机、碎纸机、复印纸; 2、相关要求:供应商必须在市内有固定的经营场所,并提供相关经营场所的房产证明材料(自有场所要求提供房产证(不动产证)等证明文件、租赁场所要求提供房产租赁合同等证明文件)。供应商注册地不在湖北省内的,应在项目地设立分支机构,并提供相关证明材料(以工商营业执照和财政监管部门核实或备案证明材料为准)。所投货物应满足国家的强制性标准,执行有关政府采购政策,符合国家相关产业政策,合法销售、原厂原装、全新产品。在质保期内严格执行“三包”服务规定,提供设备标准现场保修、技术支持服务及备品、备件支持服务。安装的任何零配件,必须是其投标货物制造商原产或是经其认可的产品。3、报价要求:投标人的投标报价是基于市场实际成交价的基础上给予的优惠价格。每项货物内容只允许有一个报价。投标文件中的报价为投标人对采购单位提供该项货物的最高限价,且低于投标人市场成交的最低价。严格依据招标文件要求和我方投标文件的承诺,按中标价格优惠承诺向采购单位提供服务。不实行任何形式的区域限制,不在框架协议内容之外,提出任何附加条款。全面履行投标承诺,圆满完成采购单位的相关定点服务工作,确保质量,提供快捷、方便、满意的服务。",
|
|
|
|
|
"数量": "采购清单中未具体指定数量"
|
|
|
|
|
},
|
|
|
|
|
"软件及耗材": {
|
|
|
|
|
"服务器": "/",
|
|
|
|
|
"台式计算机": "/",
|
|
|
|
|
"便携式计算机": "/",
|
|
|
|
|
"信息安全设备": "/",
|
|
|
|
|
"喷墨打印机": "/",
|
|
|
|
|
"激光打印机": "/",
|
|
|
|
|
"针式打印机": "/",
|
|
|
|
|
"液晶显示器": "/",
|
|
|
|
|
"扫描仪": "/",
|
|
|
|
|
"基础软件": "/",
|
|
|
|
|
"信息安全软件": "/",
|
|
|
|
|
"复印机": "/",
|
|
|
|
|
"投影仪": "/",
|
|
|
|
|
"多功能一体机": "/",
|
|
|
|
|
"触控一体机": "/",
|
|
|
|
|
"碎纸机": "/",
|
|
|
|
|
"复印纸": "/"
|
|
|
|
|
}
|
2024-09-13 15:03:55 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# 转换字典
|
|
|
|
|
converted_data = postprocess(data)
|
|
|
|
|
print(converted_data)
|