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

如何用Python合并文本文件每8行或保留每8个换行符?

Python 实现按8行合并文本内容的方案

针对你提出的把大型文本按每8行(包含空行)合并成单行的需求,我整理了两个实用的Python实现方案,你可以根据文件大小和场景灵活选择:

方案一:逐行分块合并(适合超大文件,低内存占用)

这个方法会逐行读取文件,每攒够8行就合并成一行存入变量,不会一次性加载整个文件到内存,非常适合处理几GB级别的大型文本。

def merge_eight_lines(input_file):
    merged_lines = []
    current_block = []
    
    with open(input_file, 'r', encoding='utf-8') as f:
        for line in f:
            # 移除每行末尾的换行符,避免合并后出现多余换行
            current_block.append(line.rstrip('\n'))
            # 每攒够8行就合并成单行
            if len(current_block) == 8:
                # 用空格连接8行内容,可替换为你需要的分隔符(如逗号、制表符)
                merged_line = ' '.join(current_block)
                merged_lines.append(merged_line)
                current_block = []
        # 处理文件末尾不足8行的剩余内容
        if current_block:
            merged_line = ' '.join(current_block)
            merged_lines.append(merged_line)
    
    # 返回所有合并后的单行列表,可直接使用或写入新文件
    return merged_lines

# 使用示例
result = merge_eight_lines('your_large_file.txt')
# 将结果保存到新文件
with open('merged_result.txt', 'w', encoding='utf-8') as f:
    f.write('\n'.join(result))

关键说明:

  • 代码保留了原始文本中的空行(第8行的空白会被作为空字符串加入块中);
  • 分隔符可自定义,比如把' '.join改成','.join就能用逗号连接每行内容;
  • 全程逐行处理,内存占用极低,不会因为文件过大导致崩溃。

方案二:通过移除指定换行符实现(代码更简洁,适合中等大小文件)

这个思路是先读取整个文件内容,按换行符分割成列表后,每8个元素合并成一个字符串,本质就是移除除每8个换行外的所有换行符。

def merge_by_removing_newlines(input_file):
    with open(input_file, 'r', encoding='utf-8') as f:
        # 读取所有内容,自动处理不同系统的换行符,同时保留空行
        all_lines = f.read().splitlines()
    
    merged_lines = []
    # 每8行一组进行合并
    for i in range(0, len(all_lines), 8):
        block = all_lines[i:i+8]
        merged_line = ' '.join(block)
        merged_lines.append(merged_line)
    
    return merged_lines

# 使用示例
result = merge_by_removing_newlines('your_large_file.txt')
with open('merged_result.txt', 'w', encoding='utf-8') as f:
    f.write('\n'.join(result))

关键说明:

  • splitlines()方法会自动识别\n、\r\n等不同换行格式,无需额外处理;
  • 代码逻辑更直观,但会将整个文件加载到内存,若文件是几十GB级别,可能出现内存不足的情况,更适合处理中等大小的文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:45:50