You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab R2018a中获取按创建日期排序的Excel文件列表?

解决Matlab调用Python按文件创建日期排序xlsx文件的问题

错误原因分析

你写的代码存在两个核心问题:

  • 路径拼接错误:Matlab中[ad_dir '*.xlsx']会生成字符数组,而py.glob.glob需要传入单个合法的字符串路径,导致路径格式不被Python识别。
  • Python函数参数传递错误:在Matlab中调用Python的sorted函数时,不能直接把'key'、'reverse'作为位置参数传递,必须用pyargs指定关键字参数。否则py.os.path.getctime会被当成普通排序元素,而非提取排序键的函数,从而触发缺少filename参数的错误。

修正后的代码

ad_dir = 'C:\AT files\';
% 获取目标文件夹下所有xlsx文件的路径
file_list = py.glob.glob(strcat(ad_dir, '*.xlsx'));
% 按文件创建日期降序排序(reverse=true为降序,改为false则升序)
sorted_flist = py.sorted(file_list, pyargs('key', py.os.path.getctime, 'reverse', true));

额外适配(可选)

如果需要将Python列表转换为Matlab可直接操作的数组,可添加以下代码:

sorted_flist_matlab = cell(sorted_flist);

内容的提问来源于stack exchange,提问作者user2635886

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 16:02:37