MATLAB-文件自动批量读取文件,并按文件名称或时间顺序进行数据处理

news2024/11/18 18:21:08

我在处理文件数据时,发现一个一个文件处理效率太低,因此学习了下MATLAB中自动读取特定路径下文件信息的程序,并根据读取信息使用循环进行数据处理,提高效率,在此分享给大家这段代码并给予一些说明,希望能为大家的数据处理起到一定的帮助。

首先咱们先认识认识以下常用代码:

FilePath = 'C:\Users\Kaero\Documents';   % 自己设置数据存放的文件夹路径
FilePath = uigetdir; % 获取文件夹路径
[Filename,FilePath]=uigetfile; % 获取单个文件的文件名及其路径

FilePath = 'C:\Users\Kaero\Documents\可修改,带有中文也行'

路径可以修改到自己想进行数据的文件夹,文件夹路径可以在资源管理器快速获取,如下图所示,方便又快捷

FilePath = uigetdir

运行此代码则会打开一个窗口,等待你选择任一文件夹,选择完后获得此文件夹的路径

[Filename,FilePath]=uigetfile

则是打开一个窗口获得选择的文件的文件名以及路径,与uigetdir类似

按照文件名顺序进行数据处理的详细代码如下。这个是批量读取.csv格式的文件,如果想改成其他格式,则需要在代码中修改对应的后缀名;如果想将处理顺序反过来可以用flipud函数或从大往小进行循环

​
clear;clc;close;

Path = 'C:\Users\Kaero\Documents';   % 设置数据存放的文件夹路径

% Path = uigetdir; % 获取文件夹路径
% [~,Path]=uigetfile; % 获取文件所在文件夹的路劲

File = dir(fullfile(Path,'*.CSV'));  % 获取文件夹下所有符合后缀名为.csv文件(后缀名可以根据自己情况进行修改)的完整信息

FileNames = {File.name}'; % 提取所有文件的文件名,转换为n行1列

Number_Files = size(FileNames,1);    % 获取所提取数据文件的个数

%数据处理
for i = 1 : Number_Files

    filename = [Path, '\', char(File(i).name)]; % 根据时间顺序连接路径和文件名得到完整的文件路径

    data = readmatrix(filename); % 读取文件中的数据,CSV文件是如此,其他诸如txt,xlsx文件可能会有所不同,我还没验证过
    
    %% 根据读取的数据进行处理,这部分根据想要的效果自由发挥



    %%

end

​

 

 i 的每一次循环是处理一个文件,如果不同文件的数据处理方法差异过大,是不能单独使用循环的,还得结合其他方法!!!

 

按照文件保存时间顺序进行数据处理的详细代码如下

​
clear;clc;close;

Path = 'C:\Users\Kaero\Documents';   % 设置数据存放的文件夹路径

% Path = uigetdir; % 获取文件夹路径
% [~,Path]=uigetfile; % 获取文件所在文件夹的路劲

File = dir(fullfile(Path,'*.CSV'));  % 获取文件夹下所有符合后缀名为.csv文件(后缀名可以根据自己情况进行修改)的完整信息

FileDates = [File.datenum]';  % 提取文件的时间信息

[~, sortedIndex] = sort(FileDates);  % 根据时间信息排序文件索引

Number_Files = size(FileDates,1);    % 获取所提取数据文件的个数

%数据处理
for i = 1 : Number_Files

    filename = [Path, '\', char(File(sortedIndex(i)).name)]; % 根据时间顺序连接路径和文件名得到完整的文件路径

    data = readmatrix(filename); % 读取文件中的数据,CSV文件是如此,其他诸如txt,xlsx文件可能会有所不同,我还没验证过
    
    %% 根据读取的数据进行处理,这部分根据想要的效果自由发挥



    %%

end

​

 

 最终可得到的效果如视频所示

演示视频

 

如果觉得这片文章对你有用的话,能否点个赞再走呢? 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1099510.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

.Net Core 6 运行环境手动安装流程

安装.NET Core 6 概述 在开始之前,我们首先需要了解一下整个安装过程的流程。下面的表格将展示安装.NET Core 6的步骤以及每一步需要做的事情。 步骤 动作 说明 1 下载.NET Core 6 SDK 从官方网站下载.NET Core 6 SDK安装包 2 安装.NET Core 6 SDK …

AXURE RP EXTENSION For Chrome 安装

在浏览器上输入地址:chrome://extensions/ 打开图片中这个选项,至此你就能通过index.html访问

【设计模式-1】UML和设计原则

说明:设计模式(Design Pattern)对于软件开发,简单来说,就是软件开发的套路,固定模板。在学习设计模式之前,需要首先学习UML(Unified Modeling Language,统一建模语言&…

BAT026:删除当前目录及子目录下的空文件夹

引言:编写批处理程序,实现批量删除当前目录及子目录下的空文件夹。 一、新建Windows批处理文件 参考博客: CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件,点击【编辑…

MinIO (一)安装并生成windows服务

最近公司要搞文件服务器,所以就研究了下MinIO,在这里做个笔记,研究的不深,记录一下基本使用功能,用到了哪些功能就研究哪些,里面的很多功能没用到。 MinIO 文件在线管理系统 更多详细介绍请参考 官网&am…

微信小程序仿苹果负一屏由弱到强的高斯模糊

进入下面小程序可以体验效果&#xff0c;然后进入更多。查看模糊效果 一、创建小程序组件 二、代码 wxml: <view class"topBar-15"></view> <view class"topBar-14"></view> <view class"topBar-13"></view&…

4-k8s-部署springboot项目简单实践

文章目录 一、部署原理图二、部署实践 一、部署原理图 部门一般都有一个属于自己的私服gitlab服务器&#xff0c;由开发者开发代码&#xff0c;然后上传到私服gitlab然后使用调度工具&#xff0c;如jenkins&#xff0c;去gitlab拉去代码&#xff0c;编译打包&#xff0c;最后得…

Web3D虚拟人制作简明指南

如何在线创建虚拟人? 虚拟人,也称为数字化身、虚拟助理或虚拟代理,是一种可以通过各种在线平台与用户进行逼真交互的人工智能人。 在线创建虚拟人变得越来越流行,因为它为个人和企业带来了许多好处。 通过虚拟助理或代理,您可以以更具吸引力和个性化的方式与客户或受众进…

iOS 中,isa 指针

每个对象都有 isa 指针&#xff0c;指向对象所属的类。例如类 NSString 其实是类对象。 类对象产生于编译期&#xff0c;单例。 类对象有 isa 指针指向对应元类&#xff0c;元类&#xff08;metaclass&#xff09;中保存了创建类对象以及类方法所需的所有信息。 struct objc_…

根据脑图谱获取感兴趣区域的mask

根据脑图谱获取感兴趣区域的mask 1&#xff0c;引入1.1 ASPECT-Atlas 2&#xff0c;获取脑图谱感兴趣区域mask参考&#xff1a; 1&#xff0c;引入 脑影像分析中&#xff0c;我们常常会针对性的对某些感兴趣区域进行分析&#xff0c;而对它们进行分析的前提是获取该区域的mask…

网络社区挖掘-图论部分的基本知识笔记

1 网络社区挖掘定义 网络社区挖掘是指利用数据挖掘技术和机器学习算法&#xff0c;分析社交网络、在线社区或互联网上的各种交互数据&#xff0c;以揭示其中隐藏的模式、关系和信息。这些社区可以是社交媒体平台、在线论坛、博客、微博等&#xff0c;人们在这些平台上进行交流…

vueday01——动态参数

我们现在知道了 v-bind:的语法糖是: v-on:的语法糖是 我们现在来尝试一下&#xff0c;定义一个动态参数模拟点击事件按钮 <div :id"idValue" ref"myDiv">我是待测div{{ resultId }}</div> <button v-on:[eventName]"doSomething&…

wsl使用vscode连接,远程安装C/C++ 拓展时,报错

报错内容&#xff1a; EACCES: permission denied, rename /home/wen/.vscode-server/extensions/.b61b1c7c-f703-4dfd-bdc5-d9a00681c4b7 -> /home/wen/.vscode-server/extensions/ms-vscode.cpptools-1.17.5-linux-x64 解决办法&#xff1a; 升级wsl到wsl2就好了。 &a…

高质量床上用品类网站带手机端的pbootcms模板

模板介绍&#xff1a; 这是一个基于PbootCMS内核开发的床上用品类网站模板&#xff0c;专为床上用品、家用纺织类企业设计和开发。它不仅提供了网站界面简洁简单、易于管理的特点&#xff0c;还附带了测试数据&#xff0c;方便用户进行演示和学习。 模板特点&#xff1a; 采用…

vueday01——文本渲染与挂载

1.定义html样式字符串 const rawHtml "<span stylecolor:red>htmlTest</span>" 2.创建标签&#xff0c;分别渲染普通文本和html文本 <p> 你好<span v-html"rawHtml"></span></p> 3.代码展示 4.结果展示

Springboot视图解析与模板引擎~

视图解析&#xff1a; springboot默认不支持JSP&#xff0c;需要引入第三方模板引擎技术实现页面渲染 视图处理方式&#xff1a;转发&#xff0c;重定向&#xff0c;自定义视图 thymeleaf的使用&#xff1a; 1&#xff1a;引入starter <dependency><groupId>o…

windows环境下定时备份删除mysql文件bat脚本

1、新建一个xx.bat结尾的文件复制已下内容 rem ******MySQL backup start******echo off::删除一周前的备份数据forfiles /p "D:\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f path"::设置时间变量set "Ymd%date:~0,4%%date:~5,2%%date:~…

田字描红贴

<html> <title>田字描红贴</title> <head> <style> canvas { border:1px solid gray; } </style> </head> <body> <div align"center"><canvas id"canvas"></canvas></div> <…

【Mysql】Mysql的字符集和比较规则(三)

字符集和比较规则简介 字符集简介 我们知道在计算机中只能以二进制的方式对数据进行存储&#xff0c;那么他们之间是怎样对应并进行转换的&#xff1f;我们需要了解两个概念&#xff1a; 字符范围&#xff1a;我们可以将哪些字符转换成二进制数据&#xff0c;也就是规定好字…

专业144,总分440+,上岸西北工业大学827西工大信号与系统考研经验分享

我的初试备考从4月末&#xff0c;持续到初试前&#xff0c;这中间没有中断。 总的时间分配上&#xff0c;是数学>专业课>英语>政治&#xff0c;虽然大家可支配时间和基础千差万别&#xff0c;但是这么分配是没错的。 数学 时间安排&#xff1a;3月-7月&#xff1a;…