批量处理.mat 格式的文件转换成 pickle 格式
时间: 2023-10-10 17:14:59 浏览: 49
若要将批量的.mat格式文件转换成pickle格式,可以使用以下代码:
```python
import os
import pickle
import scipy.io as sio
# mat文件所在的目录
mat_dir = '/path/to/mat_files/'
# 转换后的pickle文件所在的目录
pickle_dir = '/path/to/pickle_files/'
# 遍历mat文件目录中的所有文件
for file_name in os.listdir(mat_dir):
# 如果后缀名为.mat,则进行转换
if file_name.endswith('.mat'):
# 读取mat文件
mat_data = sio.loadmat(os.path.join(mat_dir, file_name))
# 去除.mat后缀
base_name = os.path.splitext(file_name)[0]
# 构造pickle文件名
pickle_file_name = base_name + '.pkl'
# 保存为pickle文件
with open(os.path.join(pickle_dir, pickle_file_name), 'wb') as f:
pickle.dump(mat_data, f)
```
这段代码可以遍历指定目录中的所有.mat文件,将其转换为pickle格式,并保存到指定目录中。需要注意的是,转换后的pickle文件中包含了mat文件中的所有数据,因此可能会比mat文件大一些。同时,pickle格式的文件只能被Python解析,不同版本的Python可能不兼容,因此需要注意数据的可移植性。