# -*- coding: utf-8 -*- # Time : 2023/12/8 9:11 # Author : lirunsheng # User : l'r's # Software: PyCharm # File : read_data.py import os import glob import random import pandas as pd def read_folders(folder_path): # 遍历文件夹中的子文件夹 subfolders = [] for root, dirs, files in os.walk(folder_path): for subdir in dirs: subfolders.append(subdir) # print(subfolders) # 提取子文件夹中的图像路径 image_paths = [] for root, dirs, files in os.walk(folder_path): for file in files: if file.endswith('.png') or file.endswith('.jpg'): image_path = os.path.join(root, file) image_path = image_path.replace("\\", "/") # 将路径中的反斜杠替换为斜杠 index_name = image_path.split('/')[-2] image_paths.append([image_path, subfolders.index(index_name)]) # 打乱列表中的元素 random.shuffle(image_paths) # 打印图像路径列表 path_list = [] label_list = [] for path in image_paths: # print(path) path_list.append(path[0]) label_list.append(path[1]) # print(label_list) # 将列表转换为DataFrame df = pd.DataFrame(label_list, columns=['label']) # print(df) label_name = folder_path.split('/')[-2] df.to_csv(label_name+'.csv', header=False, index=False) return subfolders, path_list # 标签,图片路径集