MATLAB Answers

Read text file with string

10 ビュー (過去 30 日間)
Ahmed Anas
Ahmed Anas 2020 年 3 月 4 日
回答済み: Guillaume 2020 年 3 月 4 日
Hi all,
I have to read the file (inserted in attachment) and only need the numeric portion as a matrix(array). The extension of file is .TXK .
Thanks in advance

  0 件のコメント

サインインしてコメントする。

採用された回答

Turlough Hughes
Turlough Hughes 2020 年 3 月 4 日
編集済み: Turlough Hughes 2020 年 3 月 4 日
You could use the readmatrix function as follows:
filename = 'My2.TXK'
opts = detectImportOptions(filename,'FileType','text')
data = readmatrix(filename,opts)
the .TXK extension is not recognised by readmatrix which is why I specified the FileType as text in the import options.
You could optionally read in as a table:
T = readtable(filename,opts)
If you want to get the variable names automatically, for example if you have a number of similar data files, I would need to see what the first line of text looks like generally across the files.

  4 件のコメント

表示 1 件の古いコメント
Guillaume
Guillaume 2020 年 3 月 4 日
You haven't indicated which version of matlab you are using. It must be fairly old (<2016b) if it doesn't support detectImportOptions.
Ahmed Anas
Ahmed Anas 2020 年 3 月 4 日
am using 2016a right now..
Ahmed Anas
Ahmed Anas 2020 年 3 月 4 日
Btw it is working fine on 2019b..

サインインしてコメントする。

その他の回答 (1 件)

Guillaume
Guillaume 2020 年 3 月 4 日
Should work in R2016a:
filename = 'My2.TXK'; %using full path would be better
[fid, errmsg] = fopen(filename, 'rt');
assert(fid > 0, 'Failed to open "%s" due to error: %s', filename, errmsg);
data = cell2mat(textscan(fid, '%f%f%f', 'Delimiter', {'\t', ' '}, 'MultipleDelimsAsOne', true, 'HeaderLines', 1));
fclose(fid);

  0 件のコメント

サインインしてコメントする。

製品


リリース

R2016a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by