#################################################
"""
Author: wangjiazhou
Date: 2022/12/18
Function: covert mat file to json file in a folder
Notes: 例如在一个文件夹中有许多个mat文件和jpg文件,将从中挑选出mat文件转化成json文件,并存入设置好的json文件夹中。
"""
#################################################
import os
import json
import scipy.io as spio
import pandas as pd
def mat2json(mat_path, json_path):
for root, dirs, files in os.walk(mat_path):
# root 表示当前正在访问的文件夹路径
# dirs 表示该文件夹下的子目录名list
# files 表示该文件夹下的文件list
for idx, file_name in enumerate(files):
if file_name.find(".mat") != -1: # 只寻找mat格式文件
mat_file_path = mat_path + file_name
matlab_file = spio.loadmat(mat_file_path)
# pop all those dumb fields that don't let you jsonize file
matlab_file.pop('__header__')
matlab_file.pop('__version__')
matlab_file.pop('__globals__')
json_file = pd.Series(matlab_file).to_json()
file_name = file_name.split(".")[0]
json_file_path = json_path + file_name + ".json"
with open(json_file_path, 'w') as f:
f.write(json_file)
else:
print(idx, end="")
print(" mat file converted")
print(mat_path, end="")
print("all files done!")
if __name__ == '__main__':
for_train = False
if for_train: # 训练集转换
mat_path = "H:\\dataset\\PS_2\\training\\"
json_path = "H:\\dataset\\PS_2\\re_label\\trainlabel\\"
else: # 测试集转换
mat_path = "H:\\dataset\\PS_2\\testing\\all\\"
json_path = "H:\\dataset\\PS_2\\re_label\\testlabel\\"
mat2json(mat_path, json_path)
遍历文件夹,批量将mat文件转换成json文件,label预处理
最新推荐文章于 2023-11-30 20:47:37 发布