问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Matlab批量读取CSV文件的三种方法

创作时间:
作者:
@小白创作中心

Matlab批量读取CSV文件的三种方法

引用
CSDN
1.
https://m.blog.csdn.net/yishuihanq/article/details/138205510

在数据分析和处理过程中,经常需要批量读取多个CSV文件。本文将介绍在Matlab中实现这一功能的三种常用方法,包括使用dir函数、fileDatastore函数以及textscan函数。每种方法都有其特点和适用场景,读者可以根据实际需求选择合适的方法。

方法一:使用dir函数获取文件列表

这种方法通过dir函数获取指定文件夹下的所有CSV文件列表,然后逐个读取。

folder = '文件夹路径';
files = dir(fullfile(folder, '*.csv'));
numFiles = length(files);

for i = 1:numFiles
    filename = fullfile(folder, files(i).name);
    data = csvread(filename);
    % 在这里使用读取到的数据进行处理
end  

方法二:使用fileDatastore函数获取文件列表

这种方法利用fileDatastore函数来管理文件列表,并使用自定义的读取函数进行数据读取。

folder = '文件夹路径';
ds = fileDatastore(fullfile(folder, '*.csv'), 'ReadFcn', @csvread);
numFiles = numel(ds.Files);

while hasdata(ds)
    data = read(ds);
    % 在这里使用读取到的数据进行处理
end  

方法三:使用textscan函数逐行读取CSV文件

这种方法通过textscan函数逐行读取CSV文件内容,适用于需要对每一行数据进行特殊处理的场景。

folder = '文件夹路径';
files = dir(fullfile(folder, '*.csv'));
numFiles = length(files);

for i = 1:numFiles
    filename = fullfile(folder, files(i).name);
    fileID = fopen(filename, 'r');
    
    % 逐行读取CSV文件
    C = textscan(fileID, '%s', 'Delimiter', '\n');
    fclose(fileID);
    numLines = length(C{1});
    
    for j = 1:numLines
        % 解析每一行的数据
        lineData = strsplit(C{1}{j}, ',');
        % 在这里使用解析得到的数据进行处理
    end
end  



© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号