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

如何在Pandas中合并元素数量少于上一行的跨行内容

处理Pandas导入含多行缩进文本的问题

针对最后一列内容缩进换行的文本文件,直接用read_csv会把续行识别为独立行,可通过预处理文本解决:

  • 步骤1:手动读取并合并续行
    先读取所有行,判断行首是否有缩进(空格或制表符),将这类续行合并到上一行的末尾,确保每条记录占一行:
import pandas as pd

# 读取目标文本文件
with open('target_file.txt', 'r', encoding='utf-8') as f:
    raw_lines = f.readlines()

processed_rows = []
current_row = ''
for line in raw_lines:
    clean_line = line.strip()
    if not clean_line:
        continue
    # 根据实际缩进特征判断是否为续行(此处以4个空格或制表符为例)
    if line.startswith('    ') or line.startswith('\t'):
        current_row += ' ' + clean_line
    else:
        if current_row:
            processed_rows.append(current_row)
        current_row = clean_line
# 加入最后一条记录
if current_row:
    processed_rows.append(current_row)
  • 步骤2:转为DataFrame并保存为CSV
    处理后的每行是完整记录,用制表符拆分列后生成DataFrame,再导出为CSV:
# 按制表符拆分列,生成DataFrame
df = pd.DataFrame([row.split('\t') for row in processed_rows])
# 可根据需求设置列名
# df.columns = ['ID', '名称', '详细描述']

# 导出为CSV文件
df.to_csv('result.csv', index=False, sep='\t')

说明

这种方法先修复了原始文本的换行问题,确保每条记录的列数一致,避免read_csv因列数不匹配报错,同时保留所有原始内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:15:43