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

如何将gt.txt文件转换为指定格式的labels.csv文件?

将gt.txt转换为labels.csv的方法

首先假设你的gt.txt每行格式为文件名 + 空格/制表符 + 对应文本内容(比如img_001.jpg 这是一段文本),以下是几种可行的转换方法:

方法一:Python脚本(通用跨平台)

适合有基础编程能力的用户,能灵活处理各种格式细节:

import csv

# 读取gt.txt并写入labels.csv
with open('gt.txt', 'r', encoding='utf-8') as txt_file, open('labels.csv', 'w', encoding='utf-8', newline='') as csv_file:
    writer = csv.writer(csv_file)
    # 写入表头
    writer.writerow(['filename', 'words'])
    for line in txt_file:
        line = line.strip()
        if not line:
            continue
        # 分割文件名和文本(假设文件名不含空格,只分割一次)
        parts = line.split(maxsplit=1)
        if len(parts) == 2:
            filename, words = parts
            writer.writerow([filename, words])
        else:
            # 处理异常行(比如只有文件名没有文本)
            writer.writerow([parts[0], ''])

运行脚本后,同目录下会生成符合要求的labels.csv。如果你的gt.txt是用制表符分隔的,把split(maxsplit=1)改成split('\t', maxsplit=1)即可。

方法二:命令行工具(Linux/macOS/WSL)

适合熟悉命令行的用户,无需编写脚本:

# 先写入表头
echo "filename,words" > labels.csv
# 处理每行内容并追加到csv
awk -v OFS="," '{print $1, substr($0, index($0,$2))}' gt.txt >> labels.csv

这个命令会自动将每行的第一个字段作为filename,剩下的所有内容作为words,并以逗号分隔写入csv。如果是制表符分隔的gt.txt,可以用awk -F '\t' -v OFS="," '{print $1,$2}' gt.txt。

方法三:Excel手动处理(无代码基础)

  1. 用Excel打开gt.txt,在弹出的文本导入向导中选择「分隔符号」,下一步选择「空格」或「制表符」作为分隔符,完成导入。
  2. 插入第一行,输入表头filename和words。
  3. 点击「文件」→「另存为」,选择保存类型为「CSV(逗号分隔)(*.csv)」,编码选择UTF-8避免乱码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:17:02