爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3777|回复: 1

[程序设计] MATLAB批量读取TXT文本出错

[复制链接]

新浪微博达人勋

发表于 2019-4-18 19:59:26 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
利用MATLAB批量读取TXT里的数据,数据形式如原始数据图片,程序如下:
clear;clc;
folder= 'E:\sounding\47909\winter\str';    %12,1,2
files = dir([folder '\*.txt']);
for j=1:length(files);
    name=files(j).name;
    delimiter = ' ';
    startRow = 5;
    endRow = 30;
    formatSpec = '%f%f%f%f%f%f%f%f%f%f%f%[^\n\r]';
    filename=[folder '\' name];
    fileID = fopen(filename,'r');
    textscan(fileID, '%[^\n\r]', startRow-1, 'WhiteSpace', '', 'ReturnOnError', false);
    dataArray = textscan(fileID, formatSpec, endRow-startRow+1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'TextType', 'string', 'EmptyValue', NaN, 'ReturnOnError', false, 'EndOfLine', '\r\n');
    fclose(fileID);
    sounding = [dataArray{1:end-1}];
    strong(:,:,j)=sounding;
    clearvars filename delimiter startRow endRow formatSpec fileID dataArray ans;
end
clear files folder j name


但是出来的数据是如第二张图片’读取数据‘,与‘原始数据’有区别,把一些不需要的数据读取进来了,并且把原始数据的数值改变了,请问要如何处理呢?

原始数据

原始数据

读取数据

读取数据
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2019-5-4 09:31:58 | 显示全部楼层
定义formatSpec不要那么简单,按照实际情况来确定
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表