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

Pandas如何通过字符串匹配删除上下行,提取<Header>标签间数据

实现方法

你可以通过匹配标签行的索引范围直接切片实现,不需要固定行号:

步骤1:定位标签的行索引

假设你从txt读取后的原始DataFrame命名为raw_df,首先定位两个标签的位置:

# 找到<Header>标签所在行的索引
start_idx = raw_df[raw_df.iloc[:, 0] == '<Header>'].index[0]
# 找到</Header>标签所在行的索引
end_idx = raw_df[raw_df.iloc[:, 0] == '</Header>'].index[0]

步骤2:切片提取中间内容

直接取两个索引中间的行即可,记得跳过标签本身所在行:

# 提取标签中间的有效数据,重置行索引
result_df = raw_df.loc[start_idx+1 : end_idx-1].reset_index(drop=True)

可选:健壮性兼容

如果担心部分文件没有对应标签,可以加判断避免报错:

import pandas as pd

# 先判断是否存在两个标签
has_start = (raw_df.iloc[:, 0] == '<Header>').any()
has_end = (raw_df.iloc[:, 0] == '</Header>').any()
if has_start and has_end:
    start_idx = raw_df[raw_df.iloc[:, 0] == '<Header>'].index[0]
    end_idx = raw_df[raw_df.iloc[:, 0] == '</Header>'].index[0]
    result_df = raw_df.loc[start_idx+1 : end_idx-1].reset_index(drop=True)
else:
    # 没有找到标签的自定义逻辑,比如返回空df
    result_df = pd.DataFrame()

运行后result_df就是你需要的仅包含标签内有效数据的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:24:03