Extract Data from .txt File

4 ビュー (過去 30 日間)
Alfredo Serna
Alfredo Serna 2021 年 10 月 27 日
コメント済み: Alfredo Serna 2021 年 10 月 28 日
Hi, someone can help me extract data from this .txt File? I'm interested in extracting the numeric values of "PeakEvm" that appears in the file.
I have tried to use textscan, pattern, extract and extractBetween but they are useless for this task.

採用された回答

C B
C B 2021 年 10 月 27 日
編集済み: C B 2021 年 10 月 27 日
alltext = fileread('Datos_SSB_624_MHz_7_dB.txt');
% extract data between {"peakEvm": and },
allmatches = regexp(alltext,'(?<={"peakEvm":).*?(?=},)','match')
allmatches = 1×16 cell array
{'{"percent":12.372359275817871,"subcarrierNumber":753,"symbolNumber":5'} {'{"percent":13.889286994934082,"subcarrierNumber":522,"symbolNumber":3'} {'{"percent":9.418230056762695,"subcarrierNumber":574,"symbolNumber":2'} {'{"percent":9.726147651672363,"subcarrierNumber":694,"symbolNumber":4'} {'{"percent":13.805439949035645,"subcarrierNumber":517,"symbolNumber":11'} {'{"percent":14.057321548461914,"subcarrierNumber":750,"symbolNumber":9'} {'{"percent":8.600445747375488,"subcarrierNumber":696,"symbolNumber":8'} {'{"percent":8.529023170471191,"subcarrierNumber":698,"symbolNumber":10'} {'{"percent":14.28252124786377,"subcarrierNumber":517,"symbolNumber":19'} {'{"percent":16.036340713500977,"subcarrierNumber":516,"symbolNumber":18'} {'{"percent":8.51211929321289,"subcarrierNumber":579,"symbolNumber":16'} {'{"percent":8.950516700744629,"subcarrierNumber":695,"symbolNumber":18'} {'{"percent":14.643827438354492,"subcarrierNumber":517,"symbolNumber":25'} {'{"percent":15.098423957824707,"subcarrierNumber":519,"symbolNumber":25'} {'{"percent":9.247054100036621,"subcarrierNumber":573,"symbolNumber":22'} {'{"percent":9.152688980102539,"subcarrierNumber":696,"symbolNumber":24'}
% extract data between {"percent": and ,
num1 = regexp(allmatches,'(?<={"percent":).*?(?=,)','match');
% extract data between "subcarrierNumber": and ,
num2 = regexp(allmatches,'(?<="subcarrierNumber":).*?(?=,)','match');
% extract data between "symbolNumber": and end
num3 = regexp(allmatches,'(?<="symbolNumber":).*?(?=)','match');
vertcat(num1{:})
ans = 16×1 cell array
{'12.372359275817871'} {'13.889286994934082'} {'9.418230056762695' } {'9.726147651672363' } {'13.805439949035645'} {'14.057321548461914'} {'8.600445747375488' } {'8.529023170471191' } {'14.28252124786377' } {'16.036340713500977'} {'8.51211929321289' } {'8.950516700744629' } {'14.643827438354492'} {'15.098423957824707'} {'9.247054100036621' } {'9.152688980102539' }
vertcat(num2{:})
ans = 16×1 cell array
{'753'} {'522'} {'574'} {'694'} {'517'} {'750'} {'696'} {'698'} {'517'} {'516'} {'579'} {'695'} {'517'} {'519'} {'573'} {'696'}
vertcat(num3{:})
ans = 16×1 cell array
{'5'} {'3'} {'2'} {'4'} {'1'} {'9'} {'8'} {'1'} {'1'} {'1'} {'1'} {'1'} {'2'} {'2'} {'2'} {'2'}
  1 件のコメント
Alfredo Serna
Alfredo Serna 2021 年 10 月 28 日
Thank you very much!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeText Data Preparation についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by