You need to enable JavaScript to run this app. 如何基于单列的行内容特征将数据拆分为两个独立列
优惠活动
大模型
产品
解决方案
定价
更多

如何基于单列的行内容特征将数据拆分为两个独立列

方案1:使用Python实现

你可以直接运行以下Python脚本处理输入文件:

current_contig = ""
# 替换为你的实际输入、输出文件路径
with open("input.txt", "r", encoding="utf-8") as f_in, open("output.txt", "w", encoding="utf-8") as f_out:
    for line in f_in:
        line = line.strip()
        # 跳过空行
        if not line:
            continue
        # 遇到3C开头的行就更新当前记录值
        if line.startswith("3C-assembly|contig_"):
            current_contig = line
        # 遇到ptg开头的行就和当前3C值拼接输出
        elif line.startswith("ptg000") and current_contig:
            f_out.write(f"{current_contig} {line}\n")

运行脚本后输出的文件就是你需要的格式。

方案2:使用awk一行命令实现

如果你使用Linux/macOS系统,直接在终端运行以下命令即可快速处理:

awk '/^3C-assembly\|contig_/{cur=$0; next} /^ptg000/{print cur, $0}' input.txt > output.txt

命令逻辑和Python脚本完全一致,执行效率更高,适合处理大体积的文本文件。

方案3:Excel Power Query实现

如果你习惯用Excel图形化操作,可按以下步骤处理:

  • 把单列数据粘贴到Excel A列,选中A列后点击「数据」选项卡 → 「从表格/范围」加载到Power Query编辑器
  • 新增自定义列,公式设置为:if Text.StartsWith([Column1], "3C-assembly|contig_") then [Column1] else null
  • 选中新增的自定义列,使用「填充」→「向下」功能,把所有空值填充为最近的3C前缀值
  • 筛选行,只保留原Column1列以ptg000开头的行
  • 调整列顺序后导出到Excel表格即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 07:24:03