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

如何将含图片名与真值的labels.json转换为指定格式的labels.csv?

将labels.json转换为指定格式labels.csv的实现方法

需求说明

输入文件(labels.json)示例

{"자랑스럽다_2730052.jpg": "자랑스럽다", "만족스럽다_1299150.jpg": "만족스럽다"}

目标文件(labels.csv)格式要求

filename        words
2730052.jpg     자랑스럽다
1299150.jpg     만족스럽다

Python脚本实现

这是最通用的实现方式,无需额外命令行工具依赖:

import json
import csv

# 读取JSON标签文件
with open('labels.json', 'r', encoding='utf-8') as json_file:
    label_dict = json.load(json_file)

# 生成目标CSV文件
with open('labels.csv', 'w', encoding='utf-8', newline='') as csv_file:
    # 使用制表符分隔列,匹配示例格式
    csv_writer = csv.writer(csv_file, delimiter='\t')
    # 写入表头
    csv_writer.writerow(['filename', 'words'])
    # 遍历处理每个标签条目
    for full_img_name, word in label_dict.items():
        # 提取下划线后的文件名部分(如"자랑스럽다_2730052.jpg" → "2730052.jpg")
        cleaned_filename = full_img_name.split('_')[-1]
        csv_writer.writerow([cleaned_filename, word])

使用步骤

  1. 将上述代码保存为convert_labels.py,和labels.json放在同一目录
  2. 运行脚本:python convert_labels.py
  3. 目录下会生成符合要求的labels.csv

命令行(jq工具)实现

如果你的系统已安装jq(一款JSON处理命令行工具),可以用一行命令完成转换:

# 先写入表头,再追加处理后的内容
echo -e "filename\twords" > labels.csv && jq -r 'to_entries[] | "\(.key | split("_")[-1])\t\(.value)"' labels.json >> labels.csv

说明

  • echo -e 用于输出带制表符的表头
  • jq 命令将JSON对象转换为键值对条目,提取每个文件名的下划线后部分,和对应文本用制表符拼接后追加到CSV文件

内容的提问来源于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 03:52:46