精华内容
下载资源
问答
  • file=dir('D:\XJTU-SY_Bearing_Datasets\37.5Hz11kN\Bearing2_2\*.csv');//这里是你的CSV文件地址 file_name=cell(1,1);... //每次读取文件时,该文件的名字 i是文件的下标 file_data=csvread(file_name,
    clear;clc;close all
    
    file = dir('D:\XJTU-SY_Bearing_Datasets\35Hz12kN\Bearing1_3\*.csv');
    file_name=sort_nat({file.name});
    len=length(file);
    csv_data=[];
    for i=1:len
        file_names=file_name(i); 
        file_names=file_names{1};
        file_data=csvread(file_names,2); 
       csv_data=[csv_data;file_data];
    end 
    figure(110)
    plot(csv_data)
    
    

    cell数组一般被叫做元胞数组,它的每个单元可以储存不同的数据类型。
    例: 可以直接通过{}类似于矩阵的直接赋值:a={‘winter’,123,‘coming’,‘哈哈’};

    csv_data是创造的一个用于存储读入的CSV数据的内容

    csvread的用法:M = CSVREAD(‘FILENAME’,R,C) ,读取csv文件中从第R-1行,第C-1列
    这里是指从第二行开始读,因为第一行为字符串,其余皆为数值。

    之后要么手动保存,要么使用save函数都可以。

    注:如果遇到有file_data=csvread(file_name,2);错误,那么将你的数据据目录添加到当前matlab目录即可。
    在这里插入图片描述
    如图所示。

    展开全文
  • 得到的csv文件可以通过MATLAB中的csvread命令读取。 但是,如果数据包含列,则它们将在 MATLAB 中导出为矩阵。 这里开发的脚本是自动将列分离为它们的自变量。 因此,它们将更容易处理,例如制作绘图。
  • 这里一共给出了四种读取csv文件的方法,csvread,importdata,textscan和uiopen,个人觉得最好用的是最后一种 1.csvread M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,这时要求整个csv文件内容...

            这里一共给出了四种读取csv文件的方法,csvread,importdata,textscan和uiopen,个人觉得最好用的是最后一种可以读取字符数据,小伙伴们可以直接pass前面的

    1.csvread

    • M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,这时要求整个csv文件内容全部为用逗号隔开的数字,不能用其他字符。(csv文件默认就是以逗号隔开的数据)

    • M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据(csv文件的行列下标是从0开始的,所以要-1),这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。

    • M = CSVREAD('FILENAME',R,C,RNG),其中 RNG = [R1 C1 R2 C2],读取左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。

      这个方法只能用于读取数字,如果是含有字符的数据他就无能为力了

    链接:(不推荐)读取逗号分隔值 (CSV) 文件 - MATLAB csvread - MathWorks 中国

    2.importdata

            f=importdata(filName);

    体验一般,不多说。

    3.textscan

    C = textscan(fileID,formatSpec)

    将已打开的文本文件中的数据读取到元胞数组 C。该文本文件由文件标识符 fileID 指示。使用 fopen 可打开文件并获取 fileID 值。完成文件读取后,请调用 fclose(fileID) 来关闭文件。

    file_id = fopen('chem_info.csv');
    C = textscan(file_id, '%s%d%f%d', 'Delimiter', ',', 'HeaderLines', 1 );
    fclose(file_id);

    上述代码中,textscan有4个参数:

    file_id :指用fopen打开文件并获取 的fileID 值

    ‘%s%d%f%d’:指匹配的格式。图1一共四列内容,分别是字符串、整型、浮点型、整型,所以对应’%s%d%f%d’(这里不太方便的样子,如果参数经常修改又很多岂不是很费劲,不清楚该方法有没有对应的解决手段)。更多匹配格式请到官方帮助中心搜索关键字“数值字段”查看。

    Delimiter:指分割方式,csv文件以“,”分割

    HeaderLines:标题行数,默认为0。这里是1

    matlab文档:从文本文件或字符串读取格式化数据 - MATLAB textscan - MathWorks 中国

    原文链接:https://blog.csdn.net/weixin_45182000/article/details/111567652

    4.uiopen

    这个是我目前觉得最好用的。

    1.导入文件

    在命令行输入以下代码,或者直接将需要处理的文件拖进这里就行

    2.生成函数

     按照步骤生成一个函数文件,该函数的三个参数分别是函数名,起始行和结束行。该函数会读取目标文件的起始行到结束行的数据,以矩阵的形式导出结果。这样只要利用这个函数就可以批量的读取同类型的csv文件。

    得到矩阵后再进行其他操作就方便多了。

    这里的array就是存储了数据的矩阵。

    MATLAB链接:打开文件选择对话框并将选定的文件加载到工作区中 - MATLAB uiopen - MathWorks 中国


            好久没有发文章了,其实也有一直做笔记(偶尔...)。希望能对大家有用,如果哪里不对还望指正,我也是自己瞎琢磨。

    展开全文
  • matlab 批量读取csv

    2017-02-26 19:07:34
    matlab批量读取csv文件,csvread.
  • matlab 批量读取execl(csv)文件

    万次阅读 2017-02-26 18:58:21
    一直没时间整理自己写的垃圾代码,如今代码乱的一团糟,今天把matlab读取excel文件拿出来;需要根据数据格式稍作修改就可以用; 读取核心的语句莫过这两句:dir(); csvread(); 文件下载: %read csvdata %author:...

         一直没时间整理自己写的垃圾代码,如今代码乱的一团糟,今天把matlab读取excel文件拿出来;需要根据数据格式稍作修改就可以用;

    读取核心的语句莫过这两句:dir();  csvread();


    文件下载:

    %read csvdata
    %author:enjoy_learn@126.com
    %
    function x=batch_read(str,N)
    i_del=[];
    str1=[str,'\*.csv'];
    jiegou=dir(str1);%等价于下面这行
    geshu=length(jiegou);
    x=zeros(geshu,N);
    % cunchu=zeros(geshu,10);
    for i=1:geshu
    
    filename=[str,'\',jiegou(i,1).name];%等于上面这条语句
    
     try
    
    x(i,:)=csvread(filename);
     catch
     recycle('on');
     filename
     delete(filename)   %删除空文件
     i_del=[i_del,i];
     disp(['原始数据的第',num2str(i),'被删除了,-导出的空数据-:']);
     continue%直接执行下次循环
     
     end
    
    end
    i_del
    x(i_del,:)=[];%删除空初始化命名的空行,无效问题
    end
    
    function x=batch_read(str)
    i_del=[];
    str1=[str,'\*.csv'];
    jiegou=dir(str1);%等价于下面这行
    % jiegou=dir('');%按字母顺序排序,存在结构体内
    % jiegou = struct2cell(jiegou);
    geshu=length(jiegou);
    x=cell(1,geshu);
    % cunchu=zeros(geshu,10);
    for i=1:geshu
    % i
    filename=[str,'\',jiegou(i,1).name];%等于上面这条语句
    % filename
    % filename=['E:\matlab_work\tChart',num2str(i),'.xls'];
     try
    % x(i,:)=csvread(filename);%filename本身就带' ',再加'','filename'出错
    % x(i,:)=csvread(filename);%filename本身就带' ',再加'','filename'出错
    x{i}=csvread(filename);
     catch
     recycle('on');
     filename
     delete(filename)   %删除空文件
     i_del=[i_del,i];
     disp(['原始数据的第',num2str(i),'被删除了,-导出的空数据-:']);
     continue%直接执行下次循环
     
     end


    end
    i_del
    x(i_del,:)=[];%删除空初始化命名的空行,无效问题
    end

    
    
    如此,便能将csv或excel文件批量读取进来。若是txt格式,只要改小读取文件的命令即可。
    
    
    
    

    展开全文
  • matlab读取多个数据文件合成一张图

    千次阅读 2020-04-30 15:36:58
    matlab读取多个数据文件合成一张图 具体来说就是将一个文件夹里的多个csv文件用matlab读取后再绘制成一张图 % file=dir('E:\0817\*.csv'); % 返回data文件夹下的文件列表 [f, p] = uigetfile({'*.csv', 'Data Files...

    matlab读取多个数据文件合成一张图

    具体来说就是将一个文件夹里的多个csv文件用matlab读取后再绘制成一张图

    % file=dir('E:\0817\*.csv'); % 返回data文件夹下的文件列表
    [f, p] = uigetfile({'*.csv', 'Data Files(*.csv)'; '*.xls',...
        'Excel97-2003(*.xls)'; '*.xlsx', 'Excel Sheetbook(*.xlsx)';...
        '*.*', 'All Files(*.*)'});
     path = [p '*.csv'];
     file = dir(path); % 返回当前文件夹下的文件列表
     num = length(file); % 获取文件的个数
     filedata = []; % 用于存放结果
     % m = zeros(num, 1);
    for i = 1: num
        filename = file(i).name; % 逐个取得文件名
        m = [p filename];
        data = xlsread(m);
        data1 = data(:, 3);
        filedata = [filedata; data1];
        data = [];
    end
    n = size(filedata); % 统计有效数据个数
    t = 1: n; % 时间序列
    t = 0.005 * t;
    figure;
    plot(t, filedata);
    
    展开全文
  • 例如:Matlabcsv文件读取多个二维数组2, 354, 23, 1013, 1023, 43, 4541, 5463, 45, 76574, 543, 543, 6543, 56, 7654, 344...我需要能够导入数据,这样我可以每个数据块上运行业务,但是csvread,dlmread和...
  • matlab如何读取csv文件

    2021-04-18 04:07:47
    matlab读取csv文件的方法:首先打开电脑上的“matlab”软件,并找到电脑上的csv文件;然后箭头处命令行窗口输入代码,命令为【csvread()】;最后括号里为【csv文件的目录+文件名称】。本文操作环境:Windows7系统,...
  • CSV,逗号分开的文件,如果能快速...1、 只有数据的CSV文件,CSV file that includes only numbers.As an example, create a text file, named as 'data.csv' if you prefer, which includes the following data wit...
  • MATLAB | 读取.csv文件并绘图

    千次阅读 2020-02-25 08:54:36
    对本地的csv文件进行读取,格式转换,并绘图
  • matlab读取文件夹中csv文件并生成mat文件 matlab源码 file_names = dir(‘E:\AE\测试文件夹\数据*.csv’); %读取所有的.csv文件 s1 = ‘E:\AE\测试文件夹\数据’ s3 = ‘E:\AE\测试文件夹\m数据’ s2 = ‘.csv’ for...
  • 需求:在处理实验数据时,我们会经常遇到要将很多个同名的csv文件汇总到一个csv文件里。 本文的例子 有这么5个文件夹: 它们是命名方式就是1、2、3、4、5,如果不是,可以把你的文件夹名称按顺序改为这个。 每个...
  • 1,读取当前文件夹下所有csv文件,并将每文件中的特定数据组成一矩阵,并组合。 file=dir('KH\*.csv'); %读取KH文件夹下全部csv文档 [~, ind] = sort([file(:).datenum], 'ascend'); %读物的文件按照时间...
  • MATLAB多个CSV文件数据求平均

    千次阅读 2018-12-18 16:41:28
    从第R行、第C列开始,将filename.csv文件中的数据(只能是数字)写入矩阵M中。 csvwrite(‘filename.csv’,M,R,C). 从第R行、第C列开始,将矩阵M中的数据(只能是数字)写入filename.csv文件中。若当前路径中不存在...
  • MATLAB中从CSV文件读取日期和时间 datetime, M01, M02, M03, M04, M05, M06 8/15/2009 0:00, 5.8, 7.8, 7.8, 7.3, 0, 7.9 8/15/2009 0:10, 7.1, 8.1, 8.1, 7.7, 0, 8.1 8/15/2009 0:20, 6.8, 7.4, 7.6, 7.1, 0, ...
  • 上图是一个文件夹中的多个.csv文件,下图是其中的某一个文件内容 想读出其中某个文件的某个(些)数据,代码如下: a=csvread('C:\Users\86138\Desktop\test2\MeasureTable00000.csv',3,1,[3 1 3 1]); %读取...
  • csv文件中有字符串等其他类型的值时(如下图),只能跳过该行或该列(csvread的第2,3参数是读取文件的指定行)。 不过,matlab的帮助中心现在已经不推荐使用这种方法读取csv文件了。其实有其他方法更好的读取...
  • %读取所有的.csv文件 for i = 1: numel(file_names) data = csvread(file_names(i).name); %依次读取csv格式的数据 save([num2str(i),'.mat'],'data'); % save(文件名, 变量),依次存储为mat格式 end ...
  • 1、自动读取csv文件,而不能直接设置读取的区域,比如: ``` csvread(file,257,1,[257,1,357,2]) ``` 2、有时也需要直接提取该csv文件中VDS范围时负1到1的数据,即-1至1时的VDS且对应的ID的值。
  • 多个csv文件合成一个csv

    千次阅读 2018-11-12 17:25:38
    1.python的writer做法 import csv import pandas as pd import os ...#对dev测试生成的多个csv进行融合 def merge_different_csv(): CSV_C0_NAME = 'file_name' CSV_C1_NAME = 'real_length'...
  • 当利用Matlab做数据分析的时候,经常会出现想调用N个excel文件里的信息,这个时候就可以利用 [csvread] 一次性读取多个excel里面的内容并全部保存到一个wrokwpace里面 *2019年之后的Matlab推荐使用 readmatrix,两者...
  • 文件夹有三百多多.csv格式的表格,我需要读取所有的表格,提取每一表格的第7列,然后将所有表格的第七列的数据依次排列整合在一表格中。 下图为处理前的文件的一部分 下面是实现这些功能的Matlab代码。我...
  • 它生成一个类,该类保存要读取的每个CSV文件的信息,包括要从中读取的列。然后是一个简单的CSV文件列表,从每个文件中读取一行。因为您说它需要一直返回行,直到读取所有输入文件,所以它会返回到达末尾的输入文件的...
  • 刚入手matlab,查了很资料,不知道怎么只输出股票数据的最后一行数据,偶然受到启发,发现是一小细节出了问题,代码如下: datpath = '绝对路径'; fid = fopen(datpath); %这里是重点:这里的分隔符要用换行...
  • MATLABCSV文件的处理以及绘图

    千次阅读 2021-03-04 16:04:27
    # 导入csv文件中的第二行第三列的所有数据 N = csvread('kongA-Aref.csv', 1, 2); baseline_1 = mean(M(1:16)); # 取列表中数据的前十六进行均值处理并把它设置为基础值 baseline_2 = mean(M(1:16)); A = length...
  • 多个csv文件按列合并为一个csv文件

    千次阅读 2021-01-07 16:59:03
    f1 = pd.read_csv('../dao_chu_data/dao_chu_result_10.csv') f2 = pd.read_csv('../dao_chu_data/dao_chu_result_20.csv') f3 = pd.read_csv('../dao_chu_data/dao_chu_result_20_40.csv') f4 = pd.read_csv('../...
  • 性能优势将取决于文件大小和数据“形状”,因为它只索引每行中第一元素的位置(因此只有几行但相对较列的文件不会看到那么性能提升)。 行/列范围的格式与 dlmread 使用的格式相同,因此 Matlab 调用的第 1 ...
  • 一、matlab导入并处理xml文件数据xmlDoc = xmlread('position_sen2_mod1.xml'); %position_sen2_mod1.xml为删除了network.dtd这一行的文件NodeArray= xmlDoc.getElementsByTagName('node'); %将所有node节点放入数组...
  • MATLAB处理csv文件——table数据类型

    千次阅读 2021-04-22 18:45:45
    读取csv文件 用readtable()函数可读取csv文件为table summary()函数可查看table的信息 EPL = readtable('EPLresults.csv') summary(EPL) 创建table 1.创建一名为teamWins的table,包含team和w列 teamWins = ...
  • 今天就来谈谈csv文件读取和输出,此篇博文更偏重于自己学习过程的一记录。平时习惯将数据输出为xlsx文件,但也有不少时候需要输出为csv,之前读取csv文件还是先使用bat程序将文件后缀改为txt,然后再进行读取。...

空空如也

空空如也

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

matlab读取多个csv文件

matlab 订阅