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

Python如何去除键值对中的多行换行,将内容转为单行输出?

Python 实现键值对多行换行符移除

应用场景

处理拆分多行存储的键值对文本,将同一个键对应的多行文本行合并为单行内容,最终输出每个键值对为独立元素的列表。

输入示例(txt文件内容)

akey=avalue1,
     avalue2,
     avalue3

bkey=cvalue

预期输出

['akey=avalue1,avalue2,avalue3', 'bkey=cvalue']

实现代码

def merge_multiline_keyvalue(file_path):
    result = []
    current_kv = ""
    with open(file_path, 'r', encoding='utf-8') as f:
        for line in f:
            # 跳过无实际内容的纯空行
            if not line.strip():
                continue
            # 包含=的行判定为新键值对的起始行
            if '=' in line:
                # 把上一个拼接完成的键值对加入结果列表
                if current_kv:
                    result.append(current_kv)
                # 仅移除当前行末尾的换行符,保留原有内容格式
                current_kv = line.rstrip('\n')
            else:
                # 非起始行属于上一个键值对的值的延续,移除首尾缩进、换行后拼接
                current_kv += line.strip()
    # 遍历结束后加入最后一个未入库的键值对
    if current_kv:
        result.append(current_kv)
    return result

# 调用示例
if __name__ == "__main__":
    # 替换为你的实际文件路径
    res = merge_multiline_keyvalue("test.txt")
    print(res)

逻辑说明

  • 逐行读取文件内容,先过滤掉无实际内容的纯空行
  • 以包含=的行作为新键值对的起始标识,先将上一个拼接完成的键值对存入结果列表
  • 无=的行判定为当前键值对的值的延续,去除行首尾的缩进、换行后直接拼接至当前键值对末尾
  • 遍历结束后,将最后一个拼接完成的键值对加入结果列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:27:00