精华内容
下载资源
问答
  • MATLAB循环读取excel各行表格代码,操作简单,适合新手学习
  • 运用MATLAB批量读取excel表格

    千次阅读 2020-05-25 23:53:44
    运用MATLAB批量读取excel表格 **运用MATLAB批量读取excel表格****需要待读取的excel表格****Step1:读取数据的路径,通过dir函数获取特定地址文件夹中的文件列表。****Step2:循环读取每一个文件的数据,并将其存到...

    运用MATLAB批量读取excel表格

    需要待读取的excel表格

    在这里插入图片描述

    Step1:读取数据的路径,通过dir函数获取特定地址文件夹中的文件列表。

    path  = 'C:\Users\Administrator\Desktop\';    %此处为需要读取的文件所在路径
    Filesname = dir(strcat(path,'*.xlsx'));                     %找到当前路径文件夹下的以.xlsx为后缀的文件名,strcat是横向连接字符的函数
    

    path是文件夹的路径,strcat是横向连接字符的函数,path为需要批量读取的excel文件的所在路径。
    Filesname 为文件路径下的每个xlsx文件的地址和名称。

    Step2:循环读取每一个文件的数据,并将其存到一个根据循环命名的与原始数据大小一致的二维矩阵中。

    Length = length(Filesname );    %计算文件夹里xls文档的个数
    for i = 1:Length               %批量读取文件的内容并保存
        xls_data = xlsread(strcat(path,Filesname (i).name));      
        file_name = Filesname ( i ).name;   
        [m,n] = size(xls_data);       %获取读取的单个excel的内容大小
        eval(['T',num2str(‘i’),'=','xls_data']);
    end
    

    应用length函数获取数组长度(即需要批量处理的excel文件的个数)。
    xlsread为MATLAB中excel文件的读取函数,eval函数的功能是将字符串转换为matlab可执行语句。

    Step3:完整代码

    path  = 'C:\Users\Administrator\Desktop\';  %此处文件地址改为需要的文件夹路径
    Filesname = dir(strcat(path,'*.xlsx')); %找到当前路径文件夹下的以.xlsx为后缀的文件名,strcat是横向连接字符的函数
    Length = length(Filesname );    %计算文件夹里xls文档的个数
    for i = 1:Length        %批量读取文件的内容并保存
        xls_data = xlsread(strcat(path,Filesname (i).name));
        file_name = Filesname (i).name;
        [m,n] = size(xls_data);
        eval( ['T',num2str(i),'=','xls_data'] );
    end
    
    

    代码仅供参考,希望能帮助到大家!!

    展开全文
  • 1、matlab批量导入txt文件 2、将txt文件中的英文去除 3、逐行将矩阵输出为excel

    废话不多说,先上代码。

    clear;
    clc;
    
    for i = 1:30	%文件个数
        filename = ['test (' num2str(i) ')' '.txt'];	%文件名称
        delimiterIn = ' ';
        headerlinesIn = 12;		%文件中文字的行数
        AllData = importdata(filename,delimiterIn,headerlinesIn);		%获取文件
    
        DiseaseData = AllData.data(1:2025,4:129);	%纯数字矩阵
    
        MeanDiseaseData = mean(DiseaseData);		%进行平均值计算
    
        s=strcat('A',num2str(i))	%输出A1 A2 A3等,用于下面循环导出为excel
        
        xlswrite('testdata.xlsx',MeanDiseaseData,1,s);		%逐行写入excel
    end
    

    输入格式:顺序增加的文件名称,以便用来循环。
    在这里插入图片描述
    这里就涉及到怎样批量重命名文件了
    在这里插入图片描述
    对于上述文件,首先全选。
    在这里插入图片描述
    全选后按 F2 ,输入文件名如 test
    在这里插入图片描述
    在按下 CTRL + Enter ,效果如下图。
    在这里插入图片描述
    ok,至此输入文件名称格式已经好了。

    此时,如果我们输入的txt文件中既有英文,又有数字,如下图所示。
    在这里插入图片描述
    我们直接使用 textread 函数的话,是会报错的。
    在这里插入图片描述
    所以我们代码里使用:

        headerlinesIn = 12;		%文件中文字的行数
        AllData = importdata(filename,delimiterIn,headerlinesIn);		%获取文件
    

    这样就可以将txt文件中的非数字部分去除。

    至此,我们已经将txt文件中的数字转化为Matlab里的矩阵了,接下来进行一系列运算后,将其输出为excel。

    如果直接调用
    xlswrite(filename,A)
    的话,每次循环产生的新数组A,都会将之前的写入excel的数组覆盖,不管循环多少次,最终指挥获得一个数组。

    那么,我们想每一次循环导出到excel的数组都放到上一次数组的下面。

    这时我们需要先了解一下下面这个函数:
    xlswrite(filename,A,sheet,xlRange)
    %writes to the specified worksheet and range.

    比如 xlswrite(test,A,1,A1)
    意思就是将A这个矩阵放到名为test的excel文件中,具体放的位置为sheet1,矩阵左上角为A1
    在这里插入图片描述

    那现在如果每次导入excel的矩阵为一行的话,只需要第一次循环为 xlswrite(test,A,1,A1),第二次为 xlswrite(test,A,1,A2) 就好。

    s=strcat('A',num2str(i))	%输出A1 A2 A3等,用于下面循环导出为excel
    xlswrite('testdata.xlsx',MeanDiseaseData,1,s);		%逐行写入excel
    

    程序里的这两行就实现了上述功能。

    总结

    到此我们就实现了
    1、matlab批量导入txt文件
    2、将txt文件中的英文去除
    3、逐行将矩阵输出为excel

    猜你喜欢:👇🏻
    【Matlab】怎么修改Excel单元格颜色?
    Matlab 实现对 Excel sheet 重命名 合并单元格
    【Matlab】一个超简单的生成顺序数组的方法

    在这里插入图片描述

    展开全文
  • 有时候我们需要对某个文件夹或者多个文件夹中的Excel文件进行读取,然后处理。那么怎么实现呢? 以一个文件夹下的Excel文件进行读取为例。 文件地址:E:\Study of Lab\Coding\Experience DatePhoto\Excel 对文件...

    有时候我们需要对某个文件夹或者多个文件夹中的Excel文件进行读取,然后处理。那么怎么实现呢?

    以一个文件夹下的Excel文件进行读取为例。

    文件地址:E:\Study of Lab\Coding\Experience DatePhoto\Excel

    0-100命名的excel文件
    对文件地址下的excel进行批量读取方法为:

    excel_path=  'E:\Study of Lab\Coding\Experience DatePhoto\Excel\';   %文件夹路径 
    img_path_list = dir(strcat(excel_path,'*.xlsx'));          
    %%dir('.')列出当前目录下所有子文件夹和文件%
    img_num = length(img_path_list);
    %文件的长度
    
    Newexcel_path='E:\Study of Lab\Coding\Experience DatePhoto\diff2method\';
    %若想对读取的Excel进行处理,新的excel存放地址
    
    img_name =sort_nat({img_path_list.name});      %排序后的文件名
    
    for i=1:img_num
        P_data(:,:,i) = xlsread([excel_path,num2str(i),'.xlsx']);
        diffdate = diff(P_data,2)  %以对数据进行2阶偏微分处理
    end
    

    处理结果部分截图为:
    在这里插入图片描述
    对数据保存为Excel文件(.xlsx)需要用到xlswrite()函数。

    例如:
    xlswrite(strcat(file_path,int2str(data1),’.xlsx’), xyz,‘A,K’);

    其中,strcat 即 Strings Catenate,横向连接字符串。

    作用:将多个字符连接成单个字符串

    strcat(file_path,int2str(data1):将data1为命名规律的Excel文件存储在file_path文件夹中,如0.xlsx,1.xlsx,…,100.xlsx.

    存储数据的内容为xyz包含的东西

    Excel文件存储的范围为A到K(第1列到第11列)

    假如想对读取的excel进行处理,还可以在上述的for循环中写入处理模块。

    for  ...
    	...
    	%处理模块
    	...
    end
    

    参考文献
    https://blog.csdn.net/LYX1945057326/article/details/84799565

    https://blog.csdn.net/guangwulv/article/details/108635252?utm_medium=distribute.pc_relevant.none-task-blog-title-3&spm=1001.2101.3001.4242
    ----------------------------Ending----------------------------

    展开全文
  • 1.读取excel中sheet的个数[Type,Sheet,Format]=xlsfinfo('file.xls');之后循环读每个sheetfor i=1:length(sheet)A=xlsread(‘file.xls’,sheet{i});....end2. 读取Excel文件命令方式xlsread:读取命令:[data,text] =...

    1.读取excel中sheet的个数

    [Type,Sheet,Format]=xlsfinfo('file.xls');

    之后循环读每个sheet

    for i=1:length(sheet)

    A=xlsread(‘file.xls’,sheet{i});

    ....

    end

    2. 读取Excel文件

    命令方式xlsread:

    读取命令:[data,text]  = xlsread(FileName, SheetName, Range);

    data保存的是数据单元格的值, text保存的是字符串单元格的内容。

    例如:[data,text]  = xlsread('C:Testtest.xls'', 'testsheet', 'B2:D10');

    存储方式为矩阵,和Excel表格中的位置一致。

    如果Sheet内都是数据,可直接使用data = xlsread(文件名)。

    3. 将MATLAB数据写入到Excel

    写入命令:xlswrite(FileName, Output, SheetName, Range)

    其中Output为要写入的数据,可以是矩阵也可以是cell类型

    例如:xlswrite('C:testtext.xls', eye(3), 'Sheet1', 'A1:C3')

    转载本文请联系原作者获取授权,同时请注明本文来自李小涵科学网博客。

    链接地址:http://blog.sciencenet.cn/blog-2520456-912453.html

    上一篇:SPEI

    下一篇:IDL 创建文件夹

    展开全文
  • matlab如何实现循环提取EXCEL一列数据

    万次阅读 2015-07-13 11:57:06
    for i=1:256 eval(['Xnoise' num2str(i) '=A(:,' num2str(i) ')']); end  save 通过以上代码先把EXCEL中的256列数据赋值给矩阵A 如果需要调用其中一列,用以下语言即可...由于MATLAB读取EXCEL文件时间较
  • 读取excel中sheet的个数[Type,Sheet,Format]=xlsfinfo('file.xls');之后循环读每个sheetfori=1:length(sheet)A=xlsread(‘file.xls’,sheet{i});....end2.读取Excel文件命令方式xlsread:读取命令:[data,text]=...
  • 这是我写的一个Fortran+C语言小程序,可以批量地把GrADS的数据文件(.dat)转换为MatlabExcel等别的软件方便读取的CSV文件。...用Excel里面的VBA或者是Matlab写一个循环就可以读取到所有你想要的数据了。
  • 最近有知乎网友问我如何利用Matlab筛选Excel数据并绘制图线,在了解其需求后,我给一点参考意见,当时并没有完整的解决方案,今天上午尝试了几轮后,找到了一个方案。需求:如上图的表格示例,需要根据第1列name中...
  • 最近有知乎网友问我如何利用Matlab筛选Excel数据并绘制图线,在了解其需求后,我给一点参考意见,当时并没有完整的解决方案,今天上午尝试了几轮后,找到了一个方案。需求:如上图的表格示例,需要根据第1列name中...
  • close allclearclc[data,text,raw]=xlsread('中游WATERNET-...%读取excel数据文件[row1 col1]=find(cellfun(@(x) strcmp(x,'Soil_Moisture_4cm'),raw(:,2)));%查询含特定字符串的数据[row2 col2]=find(cellfun(@(x) ...
  • matlab批量处理excel数据,绘图并保存

    千次阅读 2019-10-02 08:58:18
    2. 循环读取文件名,放入元胞数组 3. 按文件名循环处理数据,每个文件处理流程如下 3.1 根据数据标识去除无效数据 3.2 读取待处理数据,存入二维数组 3.3 数据运算,绘图 3.4 新建文件夹dat_image,以文...
  • 读取Excel内的多工作簿,这里不在啰嗦,使用xlsfinfo配合xlsread即可。 但是如果一个excel文件内工作簿的数量太多,就需要借助eval了。 eval是一个函数,可以把括号里的字符串解释成命令直接运行。在循环中我们没有...
  • 我之前写过一篇批量读取Excel数据的,代码比较原始和啰嗦:张敬信:【Matlab/R语言】批量读入Excel文件​zhuanlan.zhihu.com近年来,R语言技术突飞猛进,再来一篇更简洁高级的。批量读取并合并,道理很简单,总共分...
  • 我之前写过一篇批量读取Excel数据的,代码比较原始和啰嗦:张敬信:【Matlab/R语言】批量读入Excel文件​zhuanlan.zhihu.com近年来,R语言技术突飞猛进,再来一篇更简洁高级的。批量读取并合并,道理很简单,总共分...
  • 2021.04.04 使用matlab技巧汇总 ... %读取excel数据,并且读取第3个sheet表格; value = NUM(: , 1)%读第一列; name = TXT{1}%读第一列的列名; 写循环 for i = 1:5 巴拉巴拉~~~ end 保存数据到ex
  • 我之前写过一篇批量读取Excel数据的,代码比较原始和啰嗦:张敬信:【Matlab/R语言】批量读入Excel文件​zhuanlan.zhihu.com近年来,R语言技术突飞猛进,再来一篇更简洁高级的。批量读取并合并,道理很简单,总共分...
  • 我试图在一个循环读取多个csv文件,然后对它们进行一些分析 .我正在使用MatlabR2015b和Excel 2016 .问题是在第二次调用 xlsread 时出现以下错误:>>xlsread('R:\Experiments\ResoFreq_vis_BEH\TapFlick_vis_...
  • 3.循环读取,load用于打开txt,处理数据得到b,c,d 4.读取test.xlsx的行数,列数,判断其是否为空 5.逐行写入,其中tmpRaw为当前行数 6.xlswrite中['A',mRowRange]的A为指定列 function main record=dir('data\...
  • 提高matlab运行速度

    2018-10-17 15:03:00
    后来用MATLAB自带的“运行并计时”功能,找到了毒瘤的代码是读取Excel中的数据,此操作占用了我将近80%的时间。然后我优化了一下,尽量减少读取Excel的次数,代码跑的时间立刻就下来了 一、 遵守Performance ...
  • 2.循环读取文件名,生成文件 代码实现: [name,d]= xlsread('mingzi.xlsx'); %读取存放有文件名的excel第二列,放入数组[name,d] a=d(:,[2]); %读取数组第二列(本例中数据在第二列),放入元胞数组a l=l
  • tdms 为使用Labview 数据采集时一种常用的格式,但这种格式用MATLAB 读取较为麻烦,如果用excel打开tdms 文件则会得到一个Sheet 数非常多(即为tdms文件的组数)的xls 文件。 于是编写labview 程序用于读取tdms文件...
  • matlab批量导出 矩阵到

    2020-04-02 09:31:06
    对多个图片进行FFT处理后生成多个矩阵,想要把这些矩阵批量提取出来到excel作为例子我只生成了3个,应该是生成1000个矩阵。我最下边只是提取了一个,希望吧所有的A1到A1000都取出来,不知如何for循环一下。 ``` ...
  • 本章主要介绍了MATLAB的基本程序元素、几种设计中经常使用的数据类型和矩阵操作函数,以及程序设计的5种句型(for、while循环结构、if、switch条件分支结构和try…catch结构)。以后以专题形式,分别详细讲解了编程...
  • 读文件 - 读取整个文件 / 逐行读取 / 文件路径 写文件 - 覆盖写入 / 追加写入 / 文本文件 / 二进制文件 异常处理 - 异常机制的重要性 / try-except代码块 / else代码块 / finally代码块 / 内置异常类型 / 异常栈 / ...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

matlab循环读取excel

matlab 订阅