json文件批量写入列表的一个脚本

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import math
import numpy as np
import pandas as pd
import os.path as osp
from tqdm import tqdm
#进度条

label_warp = {'正常': 0,'不导电':1,'擦花':2,'角位漏底':3,'桔皮':4,'漏底':5,'喷流':6,'漆泡':7,'起坑':8,'杂色':9,'脏点':10}
              # '不导电': 1,
              # '擦花': 2,
              # '横条压凹': 3,
              # '桔皮': 4,
              # '漏底': 5,
              # '碰伤': 6,
              # '起坑': 7,
              # '凸粉': 8,
              # '涂层开裂': 9,
              # '脏点': 10,
              # '其他': 11,
              # }

# train data
data_path = '../data/guangdong_round2_train_20181011'
#训练集目录
img_path, label = [], []
#Python列表
with open('../data/all_json.txt', 'w') as f:
    for first_path in os.listdir(data_path):
        first_path = osp.join(data_path, first_path)
        #定位两层文件夹,first_path=data_path下一文件夹,接着把文件夹爱再加进去
        if '多瑕疵' in first_path:
        #如果文件夹里有多瑕疵的关键字
            # for json_path in os.listdir(first_path):
            #     if '.json' in json_path:
            #         json_path=osp.join(first_path, json_path)
            #         print(json_path)
            #         # json_path.replace("\"","")
            #         img_path.append(json_path)
            # label.append('正常')
            for json_path in os.listdir(first_path):
            #定位两层文件夹,json_path=first_path下一文件夹
                if '.json' in json_path:
                #如果文件夹里有json的关键字
                    f.write(osp.join(first_path, json_path,)+ '\n')
                #把路径写入文件夹    

        else:
            if '单瑕疵' in first_path:
                # label.append('正常')
                for second_path in os.listdir(first_path):
                    defect_label = second_path
                    second_path = osp.join(first_path, second_path)
                    if defect_label != '其他':
                        for json_path in os.listdir(second_path):
                            if '.json' in json_path:
                                f.write(osp.join(second_path, json_path) + '\n')

# for first_path in os.listdir(data_path):
#     first_path = osp.join(data_path, first_path)
#     if '多瑕疵' in first_path:
#         # for json_path in os.listdir(first_path):
#         #     if '.json' in json_path:
#         #         json_path=osp.join(first_path, json_path)
#         #         print(json_path)
#         #         # json_path.replace("\"","")
#         #         img_path.append(json_path)
#             # label.append('正常')
#         for json_path in os.listdir(first_path):
#             if '.json' in json_path:
#                 img_path.append(osp.join(first_path, json_path))
#
#     else:
#         if '单瑕疵' in first_path:
#             # label.append('正常')
#             for second_path in os.listdir(first_path):
#                 defect_label = second_path
#                 second_path = osp.join(first_path, second_path)
#                 if defect_label != '其他':
#                     for json_path in os.listdir(second_path):
#                         if '.json' in json_path:
#                            print(json_path)
#                            img_path.append(osp.join(second_path, json_path))
#
#                 # else:
#                 #     for third_path in os.listdir(second_path):
#                 #         third_path = osp.join(second_path, third_path)
#                 #         if osp.isdir(third_path):
#                 #             for img in os.listdir(third_path):
#                 #                 if 'DS_Store' not in img:
#                 #                     img_path.append(osp.join(third_path, img))
#                 #                     label.append(defect_label)
#
# label_file = pd.DataFrame({'img_path': img_path})

# label_file.to_csv('../data/alljson.csv', index=False)
# label_file.to_csv('../data/all_json.txt', index=False,header=None)

# test data
# test_data_path = '../data/guangdong_round1_test_a_20180916'
# all_test_img = os.listdir(test_data_path)
# test_img_path = []
#
# for img in all_test_img:
#     if osp.splitext(img)[1] == '.jpg':
#         test_img_path.append(osp.join(test_data_path, img))
#
# test_file = pd.DataFrame({'img_path': test_img_path})
# test_file.to_csv('../data/test.csv', index=False)

猜你喜欢

转载自blog.csdn.net/konglingshneg/article/details/83061150