Loading a text file with strings and numbers
2 次查看(过去 30 天)
显示 更早的评论
I am trying to load in a txt file that has strings and numbers. The attached text file is organized with 1 column and 5 rows containing “a 2 t 1.5 n”. The only number is “1.5” with the rest being strings.
I need the code to store each item as a separate variable. For example variable 1 = a, variable 2 = 2, variable 3 = t ect.
Any help would be greatly appreciated.
回答(1 个)
Adam Danz
2020-1-13
编辑:Adam Danz
2020-1-13
"The only number is “1.5”..."
I see a 2 in there, too.
"I need the code to store each item as a separate variable."
That would require dynamic variable naming which is a bad practice that results in additional problems. See https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
A better solution it to store the values in a cell array that you can reference by indexing.
The first line reads in the text file as a cell array of character vectors.
The second line converts any character vectors that are numeric to numeric values.
c = strsplit(fileread('Test.txt')).';
c(~isnan(cellfun(@str2double,c))) = num2cell(str2double(c(~isnan(cellfun(@str2double,c)))));
Now you can access the n-th value by indexing
c{n}
4 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!