如果可能请告诉我如何在Matlab中阅读不同的文本文件。 考虑到每个人应该处理33个txt文件。 这是我的代码有错误。 :(
textFilename = cell(1,33);
id = cell(1,33);
for k=1:33;
textFilename{k} = fullfile('C:\Users\Desktop\SentimentCode\textfiles',['file' num2str(k) '.txt']);
id{k} = fopen(textFilename{k},'rt');
str{k} = textscan(id{k},'%s%s');
end
str(str == '.') = '';
str(str == '_') = '';
str(str == '-') = '';
% Remove numbers from text
T =regexprep(str, '[\d]', ' ');
and my error is : ??? Undefined function or method 'eq' for input arguments of type 'cell'.
Error in ==> Untitled9 at 23
str(str == '.') = '';
答案 0 :(得分:0)
只需查看示例代码:
extFilename{k} = fullfile(..);
应该是
textFilename{k} = fullfile(...);
最好在阅读后关闭文件:fclose(id{k})
答案 1 :(得分:0)
在您当前的编辑中,您的错误似乎更倾向于删除。 - 和_字符。 == compacompion对字符串的效果更好,而textscan则返回一个单元格
而不是
str(str == '.') = '';
str(str == '_') = '';
str(str == '-') = '';
尝试使用
regexprep(str,'(\.|-|_)','')
一次替换所有('\。'需要'。''是一个特殊字符)。 这适用于细胞串,因此根据细胞结构的深度,您可能需要在for循环中调用它,str {k},str {k} {1},str {k} {i等等...... 另一种方法是查看cellfun 或/和strjoin ...取决于您的数据在文件中的排列方式。