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

如何将指定格式纯文本文件结构化转换为逗号分隔的CSV文件

文本转CSV实现方案

下面提供两种可直接落地的实现方案,适配不同使用场景:

方案1:Python脚本实现(跨平台通用)

思路是按行读取原始文本,每6行划分为一个数据组,逐行解析字段值后输出为CSV格式,代码示例如下:

import csv

# 定义输出列名,两个length分别对应靶序列长度、miRNA长度
headers = ["target", "length", "miRNA", "length", "mfe", "p-value"]
output_rows = []
current_row = []

with open("input.txt", "r", encoding="utf-8") as f:
    for line in f:
        line = line.strip()
        if not line:
            continue
        # 拆分键和值,处理冒号前后的空格
        key, value = [i.strip() for i in line.split(":", 1)]
        if key == "mfe":
            # 移除mfe后的单位后缀
            value = value.split()[0]
        current_row.append(value)
        # 每6个字段为完整一行数据
        if len(current_row) == 6:
            output_rows.append(current_row)
            current_row = []

# 写入CSV文件
with open("output.csv", "w", encoding="utf-8", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(headers)
    writer.writerows(output_rows)

使用方式:将原始文本保存为input.txt,和脚本放在同目录下运行即可得到符合要求的output.csv。

方案2:awk单行命令(适合Linux/macOS终端直接运行)

类Unix系统下无需写脚本,直接在终端执行以下命令即可完成转换:

awk -F': ' 'BEGIN{OFS=","; print "target","length","miRNA","length","mfe","p-value"} {gsub(/ kcal\/mol/,"",$2); row=row sep $2; sep=OFS} NR%6==0{print row; row=sep=""}' input.txt > output.csv

执行后直接生成标准CSV格式的输出文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:24:03