wildcard in filename for readtable does not work
18 次查看(过去 30 天)
显示 更早的评论
When trying to load the table in matlabwith table = readtable("...\SP17\2022SP17.xlsx"), I can get the file loaded, but when I try to do it with a wildcard: table = readtable("...\SP17\2022*.xlsx") (or another variation with an asterix) it gives the error:
Error using readtable
Unable to find or open '...\SP17\2022*.xlsx'. Check the path and filename or file permissions.
I need to use the wildcard later as I don't know the full name of the files, I need to use.
1 个评论
Stephen23
2023-11-20
编辑:Stephen23
2023-11-20
"when I try to do it with a wildcard: table = readtable("...\SP17\2022*.xlsx") "
Can you point to the exact location in the READTABLE documentation where it states that the filename can include wildcard characters?
"I need to use the wildcard later as I don't know the full name of the files"
Use DIR:
采纳的回答
Alexander
2023-11-20
编辑:Alexander
2023-11-21
If I understood your question correctly, I would do it this way:
Files = ls('.\SP17\2022*.xlsx')
nFiles = size(Files); nFiles = nFiles(1);
for ii = 1:nFiles
tmpFile = strtrim(Files(ii,:))
table = readtable(tmpFile)
% Do your computation
end
I haven't tested this short code, but anyway the principle should be clear.
Edited after comment from Stephen23.
3 个评论
Alexander
2023-11-21
It was a pull ahead answer, the code was not tested and as written above it should only show the principle. . I've edited the code should now run w/o error.
Walter Roberson
2023-11-21
Files = ls('../..')
You can see that on MacOS and Linux, ls returns a character array with many different files on the same line -- unless, that is, you use the -1 option
Files = ls('-1', '../..')
更多回答(1 个)
Les Beckham
2023-11-20
1 个评论
Cris LaPierre
2023-11-20
The problem with a wildcard is that there is no guarantee it returns a single file. You could use wildcards to collect file names using the dir function or datastores, and then use the result of that to load files.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!