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)