MATLAB 读取数据 怎么跳过空格 和 空行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB 读取数据 怎么跳过空格 和 空行相关的知识,希望对你有一定的参考价值。

比如说我有文件test1.txt
内容是

********

aaa 123

bbb 456 eee

ccc

233 13e-4 -5e13 4
333 13e-4 3e13 -4
-233 13e-4 -1e13 4

之类的

现在希望读取开头为数字那一行的所有数据:即从233开始,形成一个矩阵。


[233,13e-4,-5e13,4;
333,13e-4,3e13,-4;
-233,13e-4,-1e13,4]

因为文件有很多,无法判断从我想要的数据是从第几行开始,所以只有靠“开头为数字那一行”作为判断标准。但是我要的那几行开头又是空格,所以想请教怎么跳过这些空格?程序模板大概是下面这样(当然如果有其他可用程序也行).谢谢高手

fidin=fopen('test2.txt'); % 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值
fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt
continue % 如果是非数字继续下一次循环
end
end
fclose(fidout);
MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来
>> MK

参考技术A 你可以使用strtrim函数,这样:
tline=fgetl(fidin);
tline=strtrim(tline);
用help看一下strtrim的用法,它类似于vb中的trim,不过只能去掉空格本回答被提问者采纳

poi读取excel文件内容

现在我想读取excel中的部分内容再存到数据库,读取的时候是读取excel的部分内容,如图所示

我只要读2-4行,E-F列的数据,然后存到数据库,应该怎么遍历,使用的是poi,解决问题继续追分~~~
我想的方法是一个方法里有四个参数,起始行终止行起始列终止列……

        //参数分别是开始行,结束行,行对应的开始列和结束列
        public void getExcelElement(int startRow,int endRow,int startCell,int endCell)
            XSSFWorkbook wb=new XSSFWorkbook();
            XSSFSheet sheet=wb.getSheet("sheetName");
            for(int i=startRow;i<=endRow;i++)
                XSSFRow row=sheet.getRow(i);
                for(int a=startCell;a<=endCell;a++)
                    XSSFCell cell=row.getCell(a);
                    System.out.println(cell);
                
            
            
        


我没跑过 你先试试 有问题再说追问

你这个只能读2007的,要分情况,我已经研究出来了,不过还是谢谢哈

参考技术A 我可以帮你写 看我摆渡号 找我吧

以上是关于MATLAB 读取数据 怎么跳过空格 和 空行的主要内容,如果未能解决你的问题,请参考以下文章

从文件中读取时一次跳过空格

C语言文件读取fscanf(),该怎么处理

python怎么判断读取的是空行

python 怎么判断文件的空行

java读取txt 保留原来格式(空行,空格。。。)

如何在 MATLAB 中读取带有“/”和空格的分隔文件