精华内容
下载资源
问答
  • MATLAB循环读取excel各行表格代码,操作简单,适合新手学习
  • 有时候我们需要对某个文件夹或者多个文件夹中的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----------------------------

    展开全文
  • 运用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
    
    

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

    展开全文
  • 循环实现了xls文件导入matlab的过程,简化了导入多个文件的繁琐过程
  • 现在有若干excel文件,每个文件只有一列且无标题,文件名分别为aa_1.xlsx,aa_2xlsx,aa_3xlsx等等,以此类推,在matlab中如何利用for循环读取数据,在工作区中每一个表分别对应一个文件中的数据,比如工作区中a1对应...
  • MATLAB怎样有效读取excel文件中的数据?

    万次阅读 多人点赞 2019-04-10 18:07:42
    1.使用函数xlsread读取单个文件 (1)num=xlsread(filename) filename是单引号括起来的带路径的文件名,函数直接读取filename所指文件的sheet1中的数据区域存储到双精度矩阵num中;其中,数据区域的选取规则是:对表格...

     

     

    1.使用函数xlsread读取单个文件
    (1)num=xlsread(filename)
    filename是单引号括起来的带路径的文件名,函数直接读取filename所指文件的sheet1中的数据区域存储到双精度矩阵num中;其中,数据区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入数据区域;另外如果在数据区域中含有非数值的单元,将其处理为nan。
    (2)num = xlsread(filename, -1)
    输入后matlab将会打开相应的exel文件,用鼠标选择需要导入的数据区域,可以切换到想要的sheet。
    (3)num = xlsread(filename, sheet)
    其中sheet用来指定读入excel文件的第几个sheet,此时的sheet取值大于1的整数。
    (4)num = xlsread(filename,sheet, 'range')
    其中range指定一个矩形的区域,用单引号括起来;例如:'D2:H4'代表以D2和H4为对角定点的矩形域;
    注意当excel中有合并单元格时,任何一个合并前的单元格的名字(比如D1)都会指代整个合并后的单元格,而将整个单元格读入,所以为了避免麻烦,尽量避免在需要读入的表格中合并单元格。

    例如:将读取D盘下的一个文件路径为:D:/test/daxia.xls
    num = xlsread('d:/test/daxia.xls',2,'D2:H4')读取sheet2的D2:H4区域数据
    如果要进行交互式的选择用:num= xlsread('d:/test/daxia.xls',-1)


    2.批量的文件要读取
    首先将多个文件进行批量重命名例如daxia1.xls,daxia2.xls,daxia3.xls,...
    然后用循环的方式实现:
    for i=1:100
    filename=['d:/test/daxia',num2str(i),'.xls']; 
    num=xlsread(filename)
    end

    下面我就通过实例介绍一下MATLAB如何导入excel数据。

    1.   读取sheet1中的所有数据

    我们以03版excel为例,假设excel中数据为

    默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车

    NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。

    2.   读取指定sheet中的数据

    假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread('example',2),回车

    结果如下:

    3.   读取指定单元格中的数据

     

    1. 以sheet2中的数据为例

      假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车,结果如下:

    2. 如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢!

    转自:https://blog.csdn.net/thy19988/article/details/78489623

    展开全文
  • 下面展示一些 内联代码片。 # 河南分行数据处理 import pandas as pd import numpy as np ... data_xlsx = pd.ExcelFile(path) print(data_xlsx.sheet_names) data=pd.DataFrame() for name in data_

    先说明一下如果单纯地使用read_excel方法,会导致效率极其低下,因为read_excel第一个参数是要传path(如:r’C:\Users\Desktop\贷款\data.xlsx’)给计算机,每一次循环都要再传一次,简直慢的不要不要的,而ExcelFile则是一个类,给计算机循环传类就不会存在这种问题。
    以下是传统方法:

    wb = xlrd.open_workbook(r'C:\Users\Desktop\贷款\data.xlsx')
     # 获取workbook中所有的表格
    sheets = wb.sheet_names()
    data2 = pd.DataFrame()
    for i in range(len(sheets)):
        df2 = pd.read_excel(r'C:\Users\Desktop\贷款\data.xlsx'', sheet_name=sheets[i], index=False, encoding='utf8',converters={'外呼任务批次':str,'座席工号':str})
        data2 = data2.append(df2)
        print(i)
        print(sheets[i])
    

    这里要介绍一下国外大神的方法:附链接(https://stackoverflow.com/questions/26474693/excelfile-vs-read-excel-in-pandas/38560203#38560203),以下是搬运过来的。
    从技术上讲,ExcelFile是一个类,read_excel是一个函数。无论哪种情况,实际的解析都是由中_parse_excel定义的方法处理的ExcelFile。所以可以使用以下两种传类的方法来进行。
    PS:我这个excel每一个sheet有上万行,共有30多个sheet。
    1、ExcelFile&read_excel方法;

    xl = pd.ExcelFile(path)
    for name in xl.sheet_names:
        df = pd.read_excel(xl, name)
    

    2、ExcelFile&parse方法。

    xl = pd.ExcelFile(path)
    for name in xl.sheet_names:
        df = xl.parse(name)
    

    下面是实际运行代码

    import pandas as pd
    def read_excel1(path):
        data_xlsx = pd.ExcelFile(path)
        print(data_xlsx.sheet_names)
        data=pd.DataFrame()
        for name in data_xlsx.sheet_names:
            df=data_xlsx.parse(sheet_name=name,converters={'外呼任务批次':str,'座席工号':str,'问卷调查结果':str})
    #         data[name]=df
            data = data.append(df)
    #         print(df)
            print(name)
        return data
    path=r'C:\Users\Desktop\贷款\data.xlsx'
    data=read_excel1(path)
    
    import pandas as pd
    def read_excel1(path):
        data_xlsx = pd.ExcelFile(path)
        print(data_xlsx.sheet_names)
        data=pd.DataFrame()
        for name in data_xlsx.sheet_names:
            df=data_xlsx.read_excel(data_xlsx,sheet_name=name, encoding='utf8',converters={'外呼任务批次':str,'座席工号':str,'问卷调查结果':str})
    #         data[name]=df
            data = data.append(df)
    #         print(df)
            print(name)
        return data
    
    path=r'C:\Users\Desktop\贷款\data.xlsx'
    data=read_excel1(path)
    
    展开全文
  • 1、matlab批量导入txt文件 2、将txt文件中的英文去除 3、逐行将矩阵输出为excel
  • matlab读取excel文件

    万次阅读 2018-08-19 15:38:11
    最近在用matlab处理采集...在读取过程最重要的函数是xlsread函数,使用该函数可以方便的读取excel文件的数值、文本等, num = xlsread(filename,sheet,xlRange) 通过这条函数可以获取指定文件指定表的指定范围的...
  • Matlab读取Excel各个子表的数据进行拟合 前言 现有一个Excel文件,里面存有很多个子表,每个子表格式一样,但是数据不一样,现要对每个子表中的好多行数据进行多项式拟合,并将拟合好的结果保存回Excel中各个子...
  • matlab读取多个excel某列数据

    万次阅读 2017-10-18 10:35:00
    1.读取所有excel表名 2.逐个读取文件名 3.读取其中某几列 files = dir('*.xlsx');% 读取所有excel文件名 filename = files(i).name; %逐个读取文件名 [A,B] = xlsread(filename); C=B(:,[1,2,4])% 读取1,2...
  • 一个文件夹有三百多多个.csv格式的表格,我需要读取所有的表格,提取每一个表格的第7列,然后将所有表格的第七列的数据依次排列整合在一个表格中。 下图为处理前的文件的一部分 下面是实现这些功能的Matlab代码。我...
  • %num接收读取的数值数据, txt为cell类型,读取字符,raw为cell类型,能同时读取字符或者数字 matrix_col=size(txt,2) matrix_row=size(txt,1) result=[]; %Westinghouse Clip-On Gooseneck Lamps: %Tennsco 6-...
  • 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文件时间较
  • matlab将多个excel读取并存到一个excel的不同sheet中
  • matlab批量处理excel(CSV)文件数据

    万次阅读 多人点赞 2019-01-29 21:51:25
    今天是2019-1-29,参加完2019年美国大学生数学建模竞赛,小伙伴都回家了,就我一个人在寝室,太无聊了,就把在比赛中遇到的excel批处理,写一下思路(ps:其实我在比赛中利用的是SQLServer数据库和matlab相结合的数据...
  • matlabExcel读取数据

    万次阅读 多人点赞 2019-07-09 23:16:25
    1.用xlsread函数读取一个Excel文件 2.读取指定sheet中的数据 2.读取指定sheet中的数据 1.用xlsread函数读取一个Excel文件 (1)num=xlsread(filename) filename是单引号括起来的带路径的文件名,函数直接读取...
  •  程序如下:   ...% 例如你要输出第3次的读入文件,并赋值给A 语句如下:(如果进行了顺序组合,最后只剩下data{1}!...在保存为wt.m文件,完成后生成wt.m文件,在matlab里输入help wt有解释。。。
  • Matlab读取EXCEL智能算法数据文件数据的关联关系Matlab代码实现续言 #前言 在给一家钢铁企业做的人工智能控制与性预报的项目时需要对数据进行大量处理,感觉这一段代码可能对大家有点用,所以就把它贴出来了。 在...
  • 2. matlab完整代码 %*****计算例9.1的距离矩阵 x = [1, 2, 6, 8, 11]'; %例9.1中的观测数据 y = pdist(x) %计算样品间欧氏距离 D = squareform(y) %将距离向量转为距离矩阵 %**根据原始数据创建系统聚类树 x = [1, ...
  • matlab读取nc文件

    2018-12-29 14:56:46
    matlab提取nc文件中所需要的数据,并保存至excel表格中
  • 有的时候问卷收集的表格,需要将单元格内容单独保存为txt文件,就可以编程解决
  • MATLAB如何读取excel文件中的数据?

    万次阅读 多人点赞 2016-11-19 15:26:25
    MATLAB如何导入excel数据。 读取sheet1中的所有数据 以03版excel为例,假设excel中数据为 默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令...
  • 这是我写的一个Fortran+C语言小程序,可以批量地把GrADS的数据文件(.dat)转换为MatlabExcel等别的软件方便读取的CSV文件。...用Excel里面的VBA或者是Matlab写一个循环就可以读取到所有你想要的数据了。
  • matlab批量处理excel数据,绘图并保存

    千次阅读 2019-10-02 08:58:18
    2. 循环读取文件名,放入元胞数组 3. 按文件名循环处理数据,每个文件处理流程如下 3.1 根据数据标识去除无效数据 3.2 读取待处理数据,存入二维数组 3.3 数据运算,绘图 3.4 新建文件夹dat_image,以文...
  • 1.matlab大段注释的方法 方法一: 注释语句的快捷键是Ctrl+R 取消注释的快捷键是Ctrl+T 并且支持一次注释(或者取消注释)多行语句。 选定要注释(或者取消注释)的那些语句,然后按Ctrl+R(或者Ctrl+T)就可以了。 ...
  • for i = 1:255 if i<100 filename = strcat('0',num2str(i),'.xls'); else filename = strcat(num2str(i),'.xls'); end a1(:,1)=xlsread(filename,'sheet1','D22:D30');... a1(:,2)=xlsread(filename,'sheet2'...
  • matlab数据自动循环写入excel文件

    万次阅读 多人点赞 2017-05-23 11:06:26
    运行一次M文件就保存一个结果数据,不知道会在什么时候运行,也不知道运行多少次,如何实现自动循环保存数据?
  • 由于数据显示近似正弦函数,取每个由负变正 clear all; num = xlsread(‘C:/Users/...%读取数据行数 matrix_row=size(num,1);%读取数据列数 result=[];%初始化一个数组 i=0; j=1; b=diff(num>0);%求上下两个数差 in

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,033
精华内容 413
关键字:

matlab循环读取excel

matlab 订阅