how to read data and put them into separate line?

4 ビュー (過去 30 日間)
f moradi
f moradi 2018 年 6 月 21 日
コメント済み: f moradi 2018 年 6 月 21 日
Hello I read a file with the
Training=fscanf(fileid,'%c %c%c %c\n'); command.
But why dont enter a new row to read the next line and place the entire file in a character? What should I do to separate the row into a row and in a separate row?
EDIT: f moradi's "Answer" moved here:
my file Inside zip file. I write this code. but I want separete lines.
fileid=fopen ('C:\Users\f\Documents\MATLAB\me\noisy_train.ssv');
Training=fscanf(fileid,'%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n');
  7 件のコメント
dpb
dpb 2018 年 6 月 21 日
OK, that helps.
Are the lengths of the records known a priori or do you have to figure that out? If known, it's trivial making use of that, otherwise you needs must read in a way to count records to shape the output in the array.
f moradi
f moradi 2018 年 6 月 21 日
the lengths of the records are known a priori

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

採用された回答

dpb
dpb 2018 年 6 月 21 日
In that case (known record length)
>> L=23; % define record length
>> fmt=repmat('%c',1,L); % format string given length
>> fid=fopen('train.txt');
>> data=cell2mat(textscan(fid,fmt,'collectoutput',1)) % read the file
data =
14×23 char array
'1fyyfffcbpebkkbppwolhyg'
'1fsbtffcbptbfswwpwophvg'
'0fyetnfcbutbsspwpwopkvd'
'1fyyfffcbpebkkbbpwolhvd'
'0fygtnfcbutbssggpwopnvd'
'0bywtlfcbkecsswwpwopnnm'
'0fyetnfcbutbsswgpwopnyd'
'0fswfnfwbhtesswwpwoensg'
'0xswfnfwbntefswwpwoensg'
'0xfgfnfcnneesswwpwopkyu'
'1xygfffcbgebkknppwolhvd'
'1xfgfffcbhebkkbppwolhyp'
'1xfgfffcbpebkknbpwolhyd'
'0xyntnfcbwtbssgwpwopnyd'
>> fid=fclose(fid);
  1 件のコメント
f moradi
f moradi 2018 年 6 月 21 日
Your answer was very good. Thank you very much:)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeString Parsing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by