matlab 将大量数据写入.mat文件

eblbsuwk  于 2023-03-30  发布在  Matlab
关注(0)|答案(1)|浏览(338)

我正在用fastAPI、node.js、python和ray的一个项目。我试图写大量的行到一个.mat文件,但由于数据服务器的RAM的大小用完了。客户希望.mat文件与csv文件,所以我必须给予他们一个垫文件太。给他们只有csv是不是在我的选项。在csv中,可以在不阅读csv的情况下写入大量行。因此,我可以给予他们25GB大小的csv文件,我已经这样做了。但是在.mat文件中,我找不到一种方法在不读取文件的情况下写入数据。当试图读取数据并写入时,服务器内存不足。有没有办法在不阅读的情况下将数据写入。mat文件?

tp5buhyn

tp5buhyn1#

可以使用Python中的scipy.io.savemat()函数将数据写入MATLAB文件(.mat)而不阅读它。该函数允许您将NumPy数组的字典写入.mat文件而不将数据加载到内存中。
下面是一个示例代码:

import numpy as np
from scipy import io

# create some example data
data = {}
data['array1'] = np.random.rand(100000, 100)
data['array2'] = np.random.rand(100000, 100)

# write the data to a .mat file
io.savemat('data.mat', data)

在这个例子中,我们创建了一个名为data的字典,其中包含两个大小为100,000 x 100的NumPy数组。然后我们使用io.savemat()将此数据写入名为data.mat的文件,而无需将数据加载到内存中。

相关问题