欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > 【MATLAB实例】批量提取.csv数据并根据变量名筛选

【MATLAB实例】批量提取.csv数据并根据变量名筛选

2024/10/23 9:39:22 来源:https://blog.csdn.net/qq_44246618/article/details/142978488  浏览:    关键词:【MATLAB实例】批量提取.csv数据并根据变量名筛选

【MATLAB实例】批量提取.csv数据并根据变量名筛选

  • 准备:数据说明
  • MATLAB批量提取
  • 参考

准备:数据说明

.csv数据如下:
在这里插入图片描述
打开某表格数据,如下:(需要说明的是此数据含表头)
在这里插入图片描述

需求说明:需要提取指定站点名对应数据

MATLAB批量提取

数据导入方法: 根据不同 .csv 文件内容,可能需要使用 readtable、readmatrix 或 csvread 等不同的函数来读取数据。如果你的文件有表头,推荐使用 readtable。

代码如下:

clear
clc
close all
%% 提取站点信息(StationID)StationID = [59271	59278	59478	59485	59287	59294	59289	59488	59298];
nStation = length(StationID);%% Tmax% 指定存放.csv文件的文件夹路径(替换为你的文件夹路径)
folderPath = 'D:\0 DataBase\0 GBA Database\1 Meteorological_Station_Data\2020_Daily Tmax'; % 获取该文件夹下所有的.csv文件
filePattern = fullfile(folderPath, '*.csv');
csvFiles = dir(filePattern);nDay = length(csvFiles);
% 初始化一个结构数组来存储提取的数据
Tmax2020 = zeros(nDay,nStation);% 循环遍历每一个.csv文件
for k = 1:length(csvFiles)% 构建完整的文件名baseFileName = csvFiles(k).name;fullFileName = fullfile(folderPath, baseFileName);% 导入CSV数据:请根据实际情况选择合适的方法导入数据% 数据有表头,使用 readtable 导入数据data = readtable(fullFileName);Name = data.('name' ); % 使用动态字段名提取Ta = data.('Ta_DegC_');% 将数据存储到Tmax变量中for idata=1:height(data)for iStation=1:nStation% 提取所需站点数据if strcmp( Name{idata,1} , num2str( StationID(iStation)) )if iscell(Ta)Tmax2020(k, iStation) = str2num( Ta{idata,1});elseif isnumeric(Ta)Tmax2020(k, iStation) = Ta(idata,1);endend              endendend

数据提取完成后,保存在Tmax2020变量中。

参考

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com