批处理大量的.mat 格式的文件转换成 pickle 格式
时间: 2023-10-23 11:09:44 浏览: 80
好的,您可以使用Python中的os和glob库来批处理大量的.mat文件,将它们转换为pickle格式的文件。
以下是一个简单的例子:
```python
import os
import glob
import scipy.io
import pickle
# 设置.mat文件和pickle文件的路径
mat_files_path = 'mat_files/'
pickle_files_path = 'pickle_files/'
# 获取.mat文件的列表
mat_files = glob.glob(os.path.join(mat_files_path, '*.mat'))
# 遍历.mat文件列表,将每个文件转换为pickle格式的文件
for mat_file in mat_files:
# 读取.mat文件
mat_data = scipy.io.loadmat(mat_file)
# 将.mat文件中的数据转换为Python中的数据类型
data = mat_data['data']
# 构造pickle文件的文件名
pickle_file = os.path.splitext(os.path.basename(mat_file))[0] + '.pickle'
# 构造pickle文件的完整路径
pickle_path = os.path.join(pickle_files_path, pickle_file)
# 将Python中的数据类型序列化为pickle格式的文件
with open(pickle_path, 'wb') as f:
pickle.dump(data, f)
```
在上述代码中,我们假设.mat文件都存储在一个名为`mat_files/`的文件夹中,而pickle文件将存储在一个名为`pickle_files/`的文件夹中。您可以根据实际情况更改这些路径。此外,我们还使用`os.path.splitext`函数来获取.mat文件的文件名(不包括扩展名),并使用该名称构建.pickle文件的文件名。
阅读全文