From 41271d741a33182f5e92faf439cac08e6a1bcb30 Mon Sep 17 00:00:00 2001 From: zy123 <646228430@qq.com> Date: Fri, 15 Nov 2024 15:44:09 +0800 Subject: [PATCH] =?UTF-8?q?11.15=20=E5=B7=A5=E7=A8=8B=E6=A0=87=E8=B5=84?= =?UTF-8?q?=E6=A0=BC=E5=AE=A1=E6=9F=A5=E6=8F=90=E7=A4=BA=E8=AF=8D=E9=87=8D?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../general/投标人须知正文提取指定内容.py | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/flask_app/general/投标人须知正文提取指定内容.py b/flask_app/general/投标人须知正文提取指定内容.py index 659293c..6b42b83 100644 --- a/flask_app/general/投标人须知正文提取指定内容.py +++ b/flask_app/general/投标人须知正文提取指定内容.py @@ -185,7 +185,6 @@ def process_nested_data(data): #生成无结构的数据货物标 def concatenate_keys_values(section_content): - print("-------------") print(json.dumps(section_content, ensure_ascii=False, indent=4)) """ 将章节内容的键值对拼接成一个字符串列表,每个元素为 "key value"。 @@ -197,8 +196,28 @@ def concatenate_keys_values(section_content): list of str: 拼接后的字符串列表。 """ concatenated = [] + + def get_level(key): + """ + 计算给定键的层级。 + + Args: + key (str): 层级键,如 "30.1.1" + + Returns: + int: 层级深度,例如 "30.1.1" 的层级为 3 + """ + key = key.rstrip('.') + parts = key.split('.') + return len(parts) + for key, value in section_content.items(): - concatenated.append(f"{key} {value}") + level = get_level(key) + + # 添加缩进:一级无缩进,二级缩进4个空格,三级及以上每多一级加4个空格 + indent = ' ' * 4 * (level - 1) + concatenated.append(f"{indent}{key} {value}") + return concatenated #生成无结构的数据工程标,对提取出的若干键值对,生成外键为target_value,值为列表的新键值对