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

如何用Python基于冒号为带换行的非结构化地址数据添加分隔空行

解决方案

核心思路

利用正则表达式匹配机构条目起始行(格式为机构名称: 内容,即行首以非冒号字符开头,随后紧跟冒号),在每个新条目(除第一个)前插入空行,实现条目间的分隔。

代码实现

import re

# 读取文件内容
with open('test.txt', 'r', encoding='utf-8') as infile:
    lines = [line.rstrip('\n') for line in infile]

result = []
# 正则匹配机构条目起始行:行首有非冒号字符,后跟冒号
entry_pattern = re.compile(r'^[^:]+:')

for index, line in enumerate(lines):
    # 跳过原文件中的空行
    if not line.strip():
        continue
    # 第一个条目直接添加
    if index == 0:
        result.append(line)
    else:
        # 判断当前行是否是新的机构条目
        if entry_pattern.match(line):
            # 插入空行分隔条目
            result.append('')
        result.append(line)

# 写入处理后的内容
with open('processed_test.txt', 'w', encoding='utf-8') as outfile:
    outfile.write('\n'.join(result))

代码说明

  1. 精准匹配条目:正则^[^:]+:只识别以机构名开头、后跟冒号的行,不会误判内容中包含冒号的行。
  2. 格式兼容:保留原文件中机构信息的换行格式,同时自动跳过原文件的空行,保证输出格式整洁统一。
  3. 逻辑简洁:遍历过程中仅在新条目前插入空行,无需复杂的状态判断,执行效率高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:47:46