2024-09-13 16:05:16 +08:00

48 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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