【问题标题】:Read many Matlab files, change them and create many new Matlab files in Python读取许多 Matlab 文件,更改它们并在 Python 中创建许多新的 Matlab 文件
【发布时间】:2016-06-05 20:38:18
【问题描述】:

现在的问题是如何将所有“新”matlab 文件放入一个文件夹中。否则,我会将未交换的与已交换的混合。而且我的文件很大!

我写了代码,但即使我指定了文件的放置位置,它也不起作用!

    read_files = glob.glob('/home/FeaturesF3/*.mat') 
    write_files = glob.glob('/home/Swapped/'
    x2D = np.array([])
    for f in read_files:
        x3D = sio.loadmat(f)['features']
        x2D = x3D.swapaxes(0,1)
        outputFileName = join (write_files, f + '_swapped.mat')
        sio.savemat(outputFileName, {"x2D":x2D})

我想读取文件夹“FeaturesF3”中的许多 Matlab 文件 (20),交换索引,然后创建其他 20 个新的 Matlab 文件。 使用我的代码,我只得到 1 个“*.mat”文件。 我必须在哪里以及如何指定“新”Matlab 文件的名称,并且必须有 20 个,而不仅仅是 1 个?

这是我的代码:

read_files = glob.glob('/home/FeaturesF3/*.mat') 
x2D = np.array([])
for f in read_files:
    x3D = sio.loadmat(f)['features']
    x2D = x3D.swapaxes(0,1)
    sio.savemat('/home/FeaturesF3/*.mat', {"x2D":x2D})

【问题讨论】:

    标签: matlab python-3.x save


    【解决方案1】:
    sio.savemat('/home/FeaturesF3/*.mat', {"x2D":x2D})
    

    是你的问题:你总是使用相同的文件名(顺便说一下,这看起来无效)。

    简单地附加到输入文件名怎么样?

    for f in read_files:
        …
        sio.savemat(f + "_swapped.mat", {"x2D":x2D})
    

    【讨论】:

    • 谢谢。让它工作!但是是否可以创建一个新文件夹来存储新文件?
    猜你喜欢
    • 2013-07-17
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多