当前位置:网站首页>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 ).
边栏推荐
- Software testing e-commerce projects that can be written into your resume, don't you come in and get it?
- Imread change image display size
- Matlab memory variable management command
- Summary of interview questions (2) IO model, set, NiO principle, cache penetration, breakdown avalanche
- AMS series - application startup process
- 如何:配置 ClickOnce 信任提示行为
- Typescript learning summary
- 读书笔记:《心若菩提》 曹德旺
- What kind of living condition is a tester with a monthly salary of more than 10000?
- Expandablelistview that can expand and shrink (imitating the list page of professional selection of Zhilian recruitment)
猜你喜欢

Solution: jupyter notebook does not pop up the default browser

Crawl with requests
![[true question of the Blue Bridge Cup trials 44] scratch eliminate the skeleton Legion children programming explanation of the true question of the Blue Bridge Cup trials](/img/e0/c2b1fbe99939d44201401abf1b5a72.png)
[true question of the Blue Bridge Cup trials 44] scratch eliminate the skeleton Legion children programming explanation of the true question of the Blue Bridge Cup trials

Résumé des questions d'entrevue (2) Modèle io, ensemble, principe NiO, pénétration du cache, avalanche de rupture

Tencent micro app to get wechat user information

在职美团测试工程师的这八年,我是如何成长的,愿技术人看完都有收获

嵌入式軟件測試怎麼實現自動化測試?

封装一个koa分布式锁中间件来解决幂等或重复请求的问题

基于I2C协议的驱动开发

Clion debug
随机推荐
Tablespace creation management and control file management
AMS Series 1 - AMS startup process
Clion debug
15 software testing Trends Worthy of attention
在职美团测试工程师的这八年,我是如何成长的,愿技术人看完都有收获
Oracle收回权限 & 创建角色
The normal one inch is 25.4 cm, and the image field is 16 cm
Google Earth Engine(GEE)——当我们前后影像来弥补插值效果得时候,没有效果怎么办?
反正切熵(Arctangent entropy):2022.7月最新SCI论文
Solve undefined reference to`__ aeabi_ Uidivmod 'and undefined reference to`__ aeabi_ Uidiv 'error
BI技巧丨权限轴
IIS does not take effect after modifying the configuration information
读书笔记:《心若菩提》 曹德旺
Solve the problem that pycharm Chinese input method does not follow
Hal -- writing hardware drivers
Crawl with requests
[VTK] vtkWindowedSincPolyDataFilter 源码注释解读
What are the strengths of "testers"?
Qt:qss custom QSlider instance
Communication software development and Application