Let me work on it.
Can one save the filename as a variable in 'readtable'?
8 次查看(过去 30 天)
显示 更早的评论
Suppose I use
T=readtable('texas,csv')
I want to save the name of the file (texas) as a variable. Please advise.
采纳的回答
Image Analyst
2020-11-29
See the FAQ:
Adapting it would go something like this:
% Specify the folder where the files live.
myFolder = pwd; % or 'C:\Users\yourUserName\Documents\My Pictures';
% Check to make sure that folder actually exists. Warn user if it doesn't.
if ~isfolder(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s\nPlease specify a new folder.', myFolder);
uiwait(warndlg(errorMessage));
myFolder = uigetdir(); % Ask for a new one.
if myFolder == 0
% User clicked Cancel
return;
end
end
% Get a list of all files in the folder with the desired file name pattern.
filePattern = fullfile(myFolder, '*.csv'); % Change to whatever pattern you need.
theFiles = dir(filePattern);
for k = 1 : length(theFiles)
baseFileName = theFiles(k).name;
fullFileName = fullfile(theFiles(k).folder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
% Now do whatever you want with this file name,
% such as reading it in with readtable() or csvread().
data{k} = readtable(fullFileName);
end
fprintf('Done processing %d CSV files.\n', length(theFiles));
Results are in a cell array.
It needs to be a cell array because the data in the files might not all be the same size.
更多回答(1 个)
Ameer Hamza
2020-11-28
编辑:Ameer Hamza
2020-11-28
you can save char arrays in a variable and then concatenate it with the extension using [] operator.
filename = 'texas';
T = readtable([T '.csv'])
5 个评论
Ameer Hamza
2020-11-29
Are you trying to name the variables named like texas, iowa, etc. For example
filename = 'texas';
texas = readtable([T '.csv'])
This is not a good coding approach: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Debugging and Analysis 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!