You need to enable JavaScript to run this app. 如何编写Python脚本读取两类图像文件夹生成带路径标签的CSV/JSON文件
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Python脚本读取两类图像文件夹生成带路径标签的CSV/JSON文件

可直接运行的实现代码

核心逻辑完全基于你已经熟悉的glob模块扩展,搭配Python内置的标准库完成格式文件生成,不需要额外安装依赖,也不需要改变原有读取逻辑的使用习惯。

前置说明

  • 脚本默认和bad_pictures、good_pictures两个类别文件夹处于同一运行目录
  • 自动匹配两个文件夹下所有jpg格式图像(兼容大小写后缀名,比如.JPG、.Jpg)
  • 自动将图像路径转换为系统可识别的绝对路径,避免路径相对位置变动导致的后续读取失败
  • 生成的文件严格按照要求设置两个字段:CONTENT存完整图像路径、LABEL存对应类别值(bad/good)

CSV格式生成代码

直接运行即可在当前目录生成image_dataset.csv文件:

import os
import glob
import csv

# 类别标签和对应文件夹的映射关系,路径有调整直接改这里即可
class_folder_map = {
    "bad": "bad_pictures",
    "good": "good_pictures"
}

dataset_entries = []

for label, folder_name in class_folder_map.items():
    # 构造图像匹配规则,兼容大小写后缀
    search_pattern = os.path.join(folder_name, "*.[jJ][pP][gG]")
    for img_path in glob.glob(search_pattern):
        # 获取图像的完整绝对路径
        absolute_img_path = os.path.abspath(img_path)
        dataset_entries.append({
            "CONTENT": absolute_img_path,
            "LABEL": label
        })

# 写入CSV文件
with open("image_dataset.csv", "w", newline="", encoding="utf-8") as csv_file:
    csv_writer = csv.DictWriter(csv_file, fieldnames=["CONTENT", "LABEL"])
    csv_writer.writeheader()
    csv_writer.writerows(dataset_entries)

JSON格式生成代码

如果需要输出JSON格式,前面遍历收集图像路径和标签的逻辑和CSV版本完全一致,仅需将最后的写入逻辑替换为如下代码即可,运行后会生成image_dataset.json文件:

import json
# 此处承接前面生成dataset_entries的代码逻辑
with open("image_dataset.json", "w", encoding="utf-8") as json_file:
    json.dump(dataset_entries, json_file, ensure_ascii=False, indent=2)

可调整的扩展点

  • 如果需要匹配png等其他格式的图像,只需在search_pattern里新增对应后缀的匹配规则即可
  • 如果需要过滤损坏的图像,完全可以在遍历到img_path的位置插入你已掌握的PIL图像打开逻辑,校验通过后再存入dataset_entries列表
  • 如果类别文件夹不在脚本同目录,直接修改class_folder_map里的路径为文件夹的实际位置即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 00:36:05