字典中存在array元组,不能保存成json文件,但可以保存成npz文件。
可以将多个字典合并成一个大字典或者list,然后保存成npz文件。
append()
import os
import numpy as np
file_path = r"./train_npz/"
filenames = os.listdir(file_path)
#all_file = []
all_file = {}
for file in filenames:
load_path = os.path.join(file_path, file)
name = file.split('.')[0]
datas = np.load(load_path, allow_pickle = True)
key1 = 'target_sequence'
key2 = 'binding_sites'
key3 = 'binding_matrix'
value1 = np.array(datas['target_sequence'], dtype=np.int32)
value2 = datas['binding_sites'].tolist()
value3 = np.array(datas['binding_matrix'], dtype=np.int32)
all_dict = {key1:value1, key2:value2, key3:value3}
all_file[f'{name}'] = all_dict #dict的形式保存
#all_file.append(all_dict) list的形式保存
np.savez("all_train_data.npz",filenames,all_file)