当前位置:网站首页>Matlab extracts numerical data from irregular txt files (simple and practical)
Matlab extracts numerical data from irregular txt files (simple and practical)
2022-07-03 11:17:00 【Thanks to gravity】
Catalog
One 、 A synopsis of antecedents
my txt The text data is shown in the figure ( part ), It is the terrain data of a place and the location data of scenic spots :
txt It includes values 、 written words 、 Chinese and English brackets 、 Chinese and English commas 、 Space, etc , In short, the type is very complex , Use the usual load、importdata、txtscan And other functions are not easy to handle .
Here is a quick and practical method .
Two 、MATLAB Import data
In the past, we used to read files directly from utility code , This function is rarely used , But this function is very easy to use .( Yes, of course , In bulk 、 It is recommended to use code to read formatted files ).
2.1 Data loading
Click directly to finish :
2.2 Set the separator
txt Although the content in is relatively chaotic , But there is still a separation between data , Such as the blank space 、 Comma or something . There are many and disordered separators in my data , The specific Settings are as follows :
You can set the separator of data here , The custom separator supports any keyboard input ( Chinese characters 、 punctuation 、 Line breaks and so on ), It can be set according to the actual situation .
According to the separator set ,txt The document is divided as follows :
2.3 Set the output format
This function can output table、 matrix 、cell、 String array and other formats , Here I choose numerical matrix .
about txt Which cannot be imported in cell, You can set the replacement value , Such as Nan( You can customize ), You can also delete that row or column .
After setting the output conditions , Make sure the data to be output is selected ( Check the box or ctrl A Future generations ), Such as 2.2 Section , Blue is the output value , And yellow is replaced by NaN.
2.4 Generate scripts or functions
When exporting , You can generate scripts or functions , Only applicable to the current file . Subsequent operations on this file , It can be achieved by using code .
my txt The functions corresponding to the file are as follows :
function Adata = importfile(filename, dataLines)
%IMPORTFILE1 Import data from a text file
% ADATA = IMPORTFILE1(FILENAME) Read text file FILENAME Data in the default selection range . Return numeric data .
%
% ADATA = IMPORTFILE1(FILE, DATALINES) Read text files at specified line intervals FILENAME
% Data in . For discontinuous line spacing , Please put DATALINES Specify as positive integer scalar or N×2 Positive integer scalar array .
%
% Example :
% Adata = importfile1("G:\ Information \Now\Part_time_job\ modeling 800\A_data.txt", [1, Inf]);
%
% See also READTABLE.
%
% from MATLAB On 2022-06-30 18:16:29 Automatic generation
%% Input processing
% If you don't specify dataLines, Please define the default range
if nargin < 2
dataLines = [1, Inf];
end
%% Set import options and import data
opts = delimitedTextImportOptions("NumVariables", 445);
% Specify the range and separator
opts.DataLines = dataLines;
opts.Delimiter = [" ", "(", ")", ",", ",-", "(", ")", ","];
% Specify the column name and type
opts.VariableNames = ["h0", "VarName2", "VarName3", "VarName4", "VarName5", "VarName6", "VarName7", "VarName8", "VarName9", "VarName10", "VarName11", "VarName12", "VarName13", "VarName14", "VarName15", "VarName16", "VarName17", "VarName18", "VarName19", "VarName20", "VarName21", "VarName22", "VarName23", "VarName24", "VarName25", "VarName26", "VarName27", "VarName28", "VarName29", "VarName30", "VarName31", "VarName32", "VarName33", "VarName34", "VarName35", "VarName36", "VarName37", "VarName38", "VarName39", "VarName40", "VarName41", "VarName42", "VarName43", "VarName44", "VarName45", "VarName46", "VarName47", "VarName48", "VarName49", "VarName50", "VarName51", "VarName52", "VarName53", "VarName54", "VarName55", "VarName56", "VarName57", "VarName58", "VarName59", "VarName60", "VarName61", "VarName62", "VarName63", "VarName64", "VarName65", "VarName66", "VarName67", "VarName68", "VarName69", "VarName70", "VarName71", "VarName72", "VarName73", "VarName74", "VarName75", "VarName76", "VarName77", "VarName78", "VarName79", "VarName80", "VarName81", "VarName82", "VarName83", "VarName84", "VarName85", "VarName86", "VarName87", "VarName88", "VarName89", "VarName90", "VarName91", "VarName92", "VarName93", "VarName94", "VarName95", "VarName96", "VarName97", "VarName98", "VarName99", "VarName100", "VarName101", "VarName102", "VarName103", "VarName104", "VarName105", "VarName106", "VarName107", "VarName108", "VarName109", "VarName110", "VarName111", "VarName112", "VarName113", "VarName114", "VarName115", "VarName116", "VarName117", "VarName118", "VarName119", "VarName120", "VarName121", "VarName122", "VarName123", "VarName124", "VarName125", "VarName126", "VarName127", "VarName128", "VarName129", "VarName130", "VarName131", "VarName132", "VarName133", "VarName134", "VarName135", "VarName136", "VarName137", "VarName138", "VarName139", "VarName140", "VarName141", "VarName142", "VarName143", "VarName144", "VarName145", "VarName146", "VarName147", "VarName148", "VarName149", "VarName150", "VarName151", "VarName152", "VarName153", "VarName154", "VarName155", "VarName156", "VarName157", "VarName158", "VarName159", "VarName160", "VarName161", "VarName162", "VarName163", "VarName164", "VarName165", "VarName166", "VarName167", "VarName168", "VarName169", "VarName170", "VarName171", "VarName172", "VarName173", "VarName174", "VarName175", "VarName176", "VarName177", "VarName178", "VarName179", "VarName180", "VarName181", "VarName182", "VarName183", "VarName184", "VarName185", "VarName186", "VarName187", "VarName188", "VarName189", "VarName190", "VarName191", "VarName192", "VarName193", "VarName194", "VarName195", "VarName196", "VarName197", "VarName198", "VarName199", "VarName200", "VarName201", "VarName202", "VarName203", "VarName204", "VarName205", "VarName206", "VarName207", "VarName208", "VarName209", "VarName210", "VarName211", "VarName212", "VarName213", "VarName214", "VarName215", "VarName216", "VarName217", "VarName218", "VarName219", "VarName220", "VarName221", "VarName222", "VarName223", "VarName224", "VarName225", "VarName226", "VarName227", "VarName228", "VarName229", "VarName230", "VarName231", "VarName232", "VarName233", "VarName234", "VarName235", "VarName236", "VarName237", "VarName238", "VarName239", "VarName240", "VarName241", "VarName242", "VarName243", "VarName244", "VarName245", "VarName246", "VarName247", "VarName248", "VarName249", "VarName250", "VarName251", "VarName252", "VarName253", "VarName254", "VarName255", "VarName256", "VarName257", "VarName258", "VarName259", "VarName260", "VarName261", "VarName262", "VarName263", "VarName264", "VarName265", "VarName266", "VarName267", "VarName268", "VarName269", "VarName270", "VarName271", "VarName272", "VarName273", "VarName274", "VarName275", "VarName276", "VarName277", "VarName278", "VarName279", "VarName280", "VarName281", "VarName282", "VarName283", "VarName284", "VarName285", "VarName286", "VarName287", "VarName288", "VarName289", "VarName290", "VarName291", "VarName292", "VarName293", "VarName294", "VarName295", "VarName296", "VarName297", "VarName298", "VarName299", "VarName300", "VarName301", "VarName302", "VarName303", "VarName304", "VarName305", "VarName306", "VarName307", "VarName308", "VarName309", "VarName310", "VarName311", "VarName312", "VarName313", "VarName314", "VarName315", "VarName316", "VarName317", "VarName318", "VarName319", "VarName320", "VarName321", "VarName322", "VarName323", "VarName324", "VarName325", "VarName326", "VarName327", "VarName328", "VarName329", "VarName330", "VarName331", "VarName332", "VarName333", "VarName334", "VarName335", "VarName336", "VarName337", "VarName338", "VarName339", "VarName340", "VarName341", "VarName342", "VarName343", "VarName344", "VarName345", "VarName346", "VarName347", "VarName348", "VarName349", "VarName350", "VarName351", "VarName352", "VarName353", "VarName354", "VarName355", "VarName356", "VarName357", "VarName358", "VarName359", "VarName360", "VarName361", "VarName362", "VarName363", "VarName364", "VarName365", "VarName366", "VarName367", "VarName368", "VarName369", "VarName370", "VarName371", "VarName372", "VarName373", "VarName374", "VarName375", "VarName376", "VarName377", "VarName378", "VarName379", "VarName380", "VarName381", "VarName382", "VarName383", "VarName384", "VarName385", "VarName386", "VarName387", "VarName388", "VarName389", "VarName390", "VarName391", "VarName392", "VarName393", "VarName394", "VarName395", "VarName396", "VarName397", "VarName398", "VarName399", "VarName400", "VarName401", "VarName402", "VarName403", "VarName404", "VarName405", "VarName406", "VarName407", "VarName408", "VarName409", "VarName410", "VarName411", "VarName412", "VarName413", "VarName414", "VarName415", "VarName416", "VarName417", "VarName418", "VarName419", "VarName420", "VarName421", "VarName422", "VarName423", "VarName424", "VarName425", "VarName426", "VarName427", "VarName428", "VarName429", "VarName430", "VarName431", "VarName432", "VarName433", "VarName434", "VarName435", "VarName436", "VarName437", "VarName438", "VarName439", "VarName440", "VarName441", "VarName442", "VarName443", "VarName444", "VarName445"];
opts.VariableTypes = ["double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double", "double"];
% Specify file level properties
opts.ExtraColumnsRule = "ignore";
opts.EmptyLineRule = "read";
% Specify variable properties
opts = setvaropts(opts, ["h0", "VarName10", "VarName13", "VarName16", "VarName19", "VarName22", "VarName25", "VarName28", "VarName31", "VarName34", "VarName37", "VarName40", "VarName43", "VarName46", "VarName49", "VarName52", "VarName55", "VarName58", "VarName61", "VarName64", "VarName67", "VarName70", "VarName73", "VarName76", "VarName79", "VarName82", "VarName85", "VarName88", "VarName91", "VarName94", "VarName97", "VarName100", "VarName103", "VarName106", "VarName109", "VarName112", "VarName115", "VarName118", "VarName121", "VarName124", "VarName127", "VarName130", "VarName133", "VarName136", "VarName139", "VarName142", "VarName145", "VarName148", "VarName151", "VarName154", "VarName157", "VarName160", "VarName163", "VarName166", "VarName169", "VarName172", "VarName175", "VarName178", "VarName181", "VarName184", "VarName187", "VarName190", "VarName193", "VarName196", "VarName199", "VarName202", "VarName205", "VarName208", "VarName211", "VarName214", "VarName217", "VarName220", "VarName223", "VarName226", "VarName229", "VarName232", "VarName235", "VarName238", "VarName241", "VarName244", "VarName247", "VarName250", "VarName253", "VarName256", "VarName259", "VarName262", "VarName265", "VarName268", "VarName271", "VarName274", "VarName277", "VarName280", "VarName283", "VarName286", "VarName289", "VarName292", "VarName295", "VarName298", "VarName301", "VarName304", "VarName307", "VarName310", "VarName313", "VarName316", "VarName319", "VarName322", "VarName325", "VarName328", "VarName331", "VarName334", "VarName337", "VarName340", "VarName343", "VarName346", "VarName349", "VarName352", "VarName355", "VarName358", "VarName361", "VarName364", "VarName367", "VarName370", "VarName373", "VarName376", "VarName379", "VarName382", "VarName385", "VarName388", "VarName391", "VarName394", "VarName397", "VarName400", "VarName403", "VarName406", "VarName409", "VarName412", "VarName415", "VarName418", "VarName421", "VarName424", "VarName427", "VarName430", "VarName433", "VarName436", "VarName439", "VarName442", "VarName445"], "TrimNonNumeric", true);
opts = setvaropts(opts, ["h0", "VarName10", "VarName13", "VarName16", "VarName19", "VarName22", "VarName25", "VarName28", "VarName31", "VarName34", "VarName37", "VarName40", "VarName43", "VarName46", "VarName49", "VarName52", "VarName55", "VarName58", "VarName61", "VarName64", "VarName67", "VarName70", "VarName73", "VarName76", "VarName79", "VarName82", "VarName85", "VarName88", "VarName91", "VarName94", "VarName97", "VarName100", "VarName103", "VarName106", "VarName109", "VarName112", "VarName115", "VarName118", "VarName121", "VarName124", "VarName127", "VarName130", "VarName133", "VarName136", "VarName139", "VarName142", "VarName145", "VarName148", "VarName151", "VarName154", "VarName157", "VarName160", "VarName163", "VarName166", "VarName169", "VarName172", "VarName175", "VarName178", "VarName181", "VarName184", "VarName187", "VarName190", "VarName193", "VarName196", "VarName199", "VarName202", "VarName205", "VarName208", "VarName211", "VarName214", "VarName217", "VarName220", "VarName223", "VarName226", "VarName229", "VarName232", "VarName235", "VarName238", "VarName241", "VarName244", "VarName247", "VarName250", "VarName253", "VarName256", "VarName259", "VarName262", "VarName265", "VarName268", "VarName271", "VarName274", "VarName277", "VarName280", "VarName283", "VarName286", "VarName289", "VarName292", "VarName295", "VarName298", "VarName301", "VarName304", "VarName307", "VarName310", "VarName313", "VarName316", "VarName319", "VarName322", "VarName325", "VarName328", "VarName331", "VarName334", "VarName337", "VarName340", "VarName343", "VarName346", "VarName349", "VarName352", "VarName355", "VarName358", "VarName361", "VarName364", "VarName367", "VarName370", "VarName373", "VarName376", "VarName379", "VarName382", "VarName385", "VarName388", "VarName391", "VarName394", "VarName397", "VarName400", "VarName403", "VarName406", "VarName409", "VarName412", "VarName415", "VarName418", "VarName421", "VarName424", "VarName427", "VarName430", "VarName433", "VarName436", "VarName439", "VarName442", "VarName445"], "ThousandsSeparator", ",");
% Import data
Adata = readtable(filename, opts);
%% Convert to output type
Adata = table2array(Adata);
end
2.5 Further processing of data
Although the above method will be very good txt The data in is read , The data also contains always null values . Can be further extracted :
Different heights , The corresponding longitude and latitude 、 The scenic spot data is extracted with the following code :
close all;
clear;
clc;
Adata=importfile('A_data.txt'); % Use system generated functions to read txt file
[row,coloum]=size(Adata); % Get the output matrix size
high=Adata(1:3:57,2); % Extraction height
longitude=Adata(2:3:56,2:3:coloum); % Extract longitude
latitude=Adata(2:3:56,3:3:coloum); % Extract latitude
A_position=Adata(58,2:4); %A Ground location
B_position=Adata(58,7:9); %B Ground location
A_spots=Adata(59:67,2:5); %A Local scenic spot information
B_spots=Adata(59:67,8:11); %B Local scenic spot information
Get and txt Consistent formatted data in text :
thus , The data has been successfully extracted , The next step is to map according to the data ( Topographic map of a place ).
边栏推荐
- Project management essence reading notes (6)
- 线性表的双链表
- ORACLE 11G 单机冷备数据库
- [VTK] vtkWindowedSincPolyDataFilter 源码注释解读
- How did I grow up in the past eight years as a test engineer of meituan? I hope technicians can gain something after reading it
- 浅析-JMM内存模型
- The role and necessity of implementing serializable interface
- Kotlin's use of the no Arg compiler plug-in in gradle
- 如何清理v$rman_backup_job_details视图 报错ORA-02030
- IIS does not take effect after modifying the configuration information
猜你喜欢

12. Nacos server service registration of source code analysis of Nacos service registration

T5 attempt

QT: QSS custom qtabwidget and qtabbar instances

The element form shows the relationship between elementary transformation and elementary matrix

The five-year itch of software testing engineers tells the experience of breaking through bottlenecks for two years

What kind of living condition is a tester with a monthly salary of more than 10000?

可以写进简历的软件测试电商项目,不进来get一下?

"Core values of testing" and "super complete learning guide for 0 basic software testing" summarized by test engineers for 8 years

栈,单调栈,队列,单调队列

(二)进制
随机推荐
帝国cms 无缩略图 灵动标签(e:loop)判断有无标题图片(titlepic)的两种写法
Software testing e-commerce projects that can be written into your resume, don't you come in and get it?
Cause: org. apache. ibatis. builder. Builderexception: error parsing SQL mapper configuration problem analysis
One hot code
AIDL
The element form shows the relationship between elementary transformation and elementary matrix
[VTK] vtkWindowedSincPolyDataFilter 源码注释解读
历经一个月,终于拿到金蝶Offer!分享一下四面面经+复习资料
Hal - General
Reading notes: heart like Bodhi, Cao Dewang
数据库增量备份 - DB INCR DB FULL
项目管理精华读书笔记(六)
15 software testing Trends Worthy of attention
2022-07-02: what is the output of the following go language code? A: Compilation error; B:Panic; C:NaN。 package main import “fmt“ func mai
IIS修改配置信息后不生效
Matlab memory variable management command
AMS series - application startup process
封装一个koa分布式锁中间件来解决幂等或重复请求的问题
First line of code kotlin notes
UI自动化测试如何走出困境?价值又如何体现?