how to import a text (.txt) file to MATLAB?

6 ビュー (過去 30 日間)
Mahan Soltani
Mahan Soltani 2012 年 12 月 24 日
how can i import a text (.txt) file that incloude several column and row whitout using Exel ??? i copy txt file to a new exel file and use : [numdata,txtdata]=xlsread('MyExelFile') to import it in MATLAB , and i want directly import this txt file to MATLAB without using Exel... Answer me...Thanks

採用された回答

per isakson
per isakson 2012 年 12 月 24 日
編集済み: per isakson 2012 年 12 月 26 日
.
Interactively:
I think the simplest way is to read the file interactively with "Import Data ..." in the File menu (R2012a).
.
Width code:
fid = fopen('cssm.txt', 'r' );
cac = textscan( fid, '%f%f%f%f%f%f', 'CollectOutput', true, 'Headerlines', 2 );
fclose( fid );
cac{:}
returns
ans =
1.0e-03 *
0 0 0 0 0 0
0 0 0 0 0 0
1.0000 0 1.0000 0 1.0000 0
1.0000 0 1.0000 0 1.0000 0
1.0000 0 1.0000 0 1.0000 0
where cssm.txt contains
XY
COP x COP y COP z
0 0 0 0 0 0
0 0 0 0 0 0
0.001 0 0.001 0 0.001 0
0.001 0 0.001 0 0.001 0
0.001 0 0.001 0 0.001 0
.
Including the header:
fid = fopen('cssm.txt', 'r' );
h1 = textscan( fid, '%s', 1 );
h2 = textscan( fid, '%s%s%s%s%s%s', 1, 'CollectOutput', true );
cac = textscan( fid, '%f%f%f%f%f%f', 'CollectOutput', true, 'Headerlines', 0 );
fclose( fid );
h1{:}
h2{:}
cac{:}
returns
ans =
'XY'
ans =
'COP' 'x' 'COP' 'y' 'COP' 'z'
ans =
1.0e-03 *
0 0 0 0 0 0
0 0 0 0 0 0
1.0000 0 1.0000 0 1.0000 0
1.0000 0 1.0000 0 1.0000 0
1.0000 0 1.0000 0 1.0000 0
.
Mimicing xlsread output
fid = fopen('forceplate_3.txt', 'r' );
h1 = fgetl( fid );
h2 = textscan( fid, '%s%s%s%s%s%s', 1, 'CollectOutput', true );
cac = textscan( fid, '%f%f%f%f%f%f', 'CollectOutput', true, 'Headerlines', 0 );
fclose( fid );
txtdata = repmat({''}, 2, 6 );
txtdata(1,1)= {h1};
txtdata(2,:)= h2{:};
numdata = cac{:};
the results are:
>> whos *data
Name Size Bytes Class Attributes
numdata 21000x6 1008000 double
txtdata 2x6 1382 cell
  12 件のコメント
per isakson
per isakson 2012 年 12 月 26 日
編集済み: per isakson 2012 年 12 月 30 日
@Walter, thanks!
@Mohammad,
  • If you want to learn Matlab you need to experiment a bit. You should not assume us to do everything for you.
  • Next time you post a question please show that you made an effort yourself!
Walter Roberson
Walter Roberson 2012 年 12 月 26 日
Odd, those first two links do show images for me. The aren't much of interest though, just variable explorer showing the size of the two arrays.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLarge Files and Big Data についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by