Efficient way of extracting parameters from a text file without external utilities

조회 수: 2 (최근 30일)
I have a txt file whose content is as follows (There are around 1000,000 rows).
Capture.PNG
Basically there are 4 parameters, each of which can take non-negative integer values:
  • type 0,val1
  • type 0,val2
  • type 1,val1
  • type 1,val2
I need to extract their values and form 4 arrays one for each parameters. . How can I do this in a time efficient way?
  댓글 수: 1
Walter Roberson
Walter Roberson 2019년 7월 9일
This belongs as part of https://www.mathworks.com/matlabcentral/answers/470798-fastest-way-to-create-arrays-programmatically-for-particular-parameter-values-from-a-set-of-text-fi

댓글을 달려면 로그인하십시오.

채택된 답변

Abhilash Padma
Abhilash Padma 2019년 7월 17일
Hi,
I understand that there is a text file which contains different values belongs to any of the 4 types.
They are:
type 0, val1 ; type 0, val2 ; type 1, val1 ; type 1, val2
You need to read all the values and store them in 4 variables where each variable belongs to different datatypes.
Try the following code, which should work for your problem.
str=fileread('test.txt');
var1=str2double(regexp(str, '(?<=type\s+0,val1\s+=\s+)\w*', 'match'));
var2=str2double(regexp(str, '(?<=type\s+0,val2\s+=\s+)\w*', 'match'));
var3=str2double(regexp(str, '(?<=type\s+1,val1\s+=\s+)\w*', 'match'));
var4=str2double(regexp(str, '(?<=type\s+1,val2\s+=\s+)\w*', 'match'));

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Text Files에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by