【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);
                end
            end              
        end
    end
    
end

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

参考

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

升级Unity后产生的Objects内存泄露现象

1)升级Unity后产生的Objects内存泄露现象 2)能否使用OnDemandRendering API来显示帧率 3)Unity闪退问题 4)配置表堆内存如何优化 这是第405篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答…

中航资本:大幅加仓!社保基金重仓股曝光

跟着上市公司三季报布满宣告,社保基金2024年三季度末重仓股及持股改变状况浮出水面。 Wind数据闪现,到10月21日,已有191家上市公司宣告了2024年三季报,其间有34家上市公司的前十大流通股东中呈现了社保基金的身影,社保…

从零开始学PHP之变量作用域数据类型

一、数据类型 上篇文章提到了数据类型,在PHP中支持以下几种类型 String (字符串)Integer(整型)Float (浮点型)Boolean(布尔型)Array(数组)Objec…

天锐绿盾 vs Ping32:企业级加密软件大比拼

在信息安全日益重要的今天,企业级加密软件成为了企业保护敏感数据的得力助手。在众多加密软件中,天锐绿盾与Ping32凭借各自的优势,赢得了市场的广泛认可。那么,这两款软件究竟有何异同?哪款更适合您的企业呢&#xff1…

Java 输入与输出(I/O)流的装饰流【处理流】

Java I/O流的装饰流 按照Java 输入与输出(I/O)流的处理功能:I/O流可分为低级的节点流和高级的装饰流(又称处理流)。 节点流是直接从数据源(数据源可以是文件、数组、内存或网络)读/写数据的输入输出流&am…

西南交通大学计算机软件专业上岸难度分析

C哥专业提供——计软考研院校选择分析专业课备考指南规划 西南交通大学计算机科学与技术2024届考研难度整体呈现"稳中有升"的态势。学硕实际录取33人,复试分数线362分,复试录取率71.74%;专硕(计算机技术)实际…

Mac M3安装VMWare Fusion

最近学习Spark需要下载VM Ware,但是我的电脑是MAC M3系列,百度说不能下载Workstation Pro,Workstation Pro 适用于Windows、Linux系统。而MAC M系列电脑需要下载Fusion Pro 。 Fusion Pro的下载页面很难找到。根据以下指引可正确下载&#x…

OpenCV物体跟踪:使用CSRT算法实现实时跟踪

目录 简介 CSRT算法简介 实现步骤 1. 初始化摄像头和跟踪器 2. 读取视频帧和初始化跟踪 3. 实时跟踪和显示结果 4. 显示和退出 5、结果展示 总结 简介 在计算机视觉和视频处理领域,物体跟踪是一项核心技术,它在监控、人机交互、运动分析等方面…

纯前端实现语音合成并输出提示

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>语音合成</title><style>body {max-…

解决mac ssh端终端只有黑白颜色的问题

主要是因为没有开启颜色配置。修改下文件即可 cd ~ vi .zshrc 内容如下 export LS_OPTIONS--colorauto export CLICOLORYes export LSCOLORSExgxcxdxcxegedabagGxGx 关闭终端后重登录&#xff0c;这下有颜色了好看了 配色&#xff1a;目录蓝 可执行绿 软链青 颜色配置 详…

使用网络爬虫爬取豆瓣电影网站的数据

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

MySQL数据库操作——(4)

目录 8 视图 8.1 常见的数据库对象 8.2 视图概述 8.2.1 为什么使用视图&#xff1f; 8.2.2 视图的理解 8.3 创建视图 8.3.1 创建单表视图 8.3.2 创建多表联合视图 8.3.3 基于视图创建视图 8.4 查看视图 8.5 更新视图的数据 8.5.1 一般情况 8.6 修改、删除视图 8.…

Linux kernel 堆溢出利用方法

前言 本文还是用一道例题来讲解几种内核堆利用方法&#xff0c;内核堆利用手段比较多&#xff0c;可能会分三期左右写。进行内核堆利用前&#xff0c;可以先了解一下内核堆的基本概念&#xff0c;当然更好去找一些详细的内核堆的基础知识。 概述 Linux kernel 将内存分为 页…

数据结构_day3

目录 4.栈 stack 4.2.1 特性 练习&#xff1a; 4.3 链式栈 4.3.1 特性 总结&#xff1a; 4.栈 stack 4.2.1 特性 逻辑结构&#xff1a;线性结构 存储结构&#xff1a;顺序结构 操作&#xff1a;创建、入栈、出栈、判空和判满 创空&#xff1a; 入栈&#xff1a; 出栈&#xff1…

【自然语言处理】多头注意力机制 Multi-Head Attention

多头注意力&#xff08;Multi-Head Attention&#xff09;机制是Transformer模型中的一个关键组件&#xff0c;广泛用于自然语言处理任务&#xff08;如机器翻译、文本生成等&#xff09;以及图像处理任务。它的核心思想是通过多个不同的注意力头来捕获输入的不同特征&#xff…

虚拟现实与Facebook的结合:未来社交的全新体验

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术正在逐步改变人们的社交方式。Facebook&#xff0c;作为全球最大的社交媒体平台之一&#xff0c;积极探索如何将虚拟现实融入其社交生态系统&#xff0c;创造全新的用户体验。这一结合不仅影响了用户之间…

深度解析机器学习的四大核心功能:分类、回归、聚类与降维

深度解析机器学习的四大核心功能&#xff1a;分类、回归、聚类与降维 前言分类&#xff08;Classification&#xff09;&#xff1a;预测离散标签的艺术关键算法与代码示例逻辑回归支持向量机&#xff08;SVM&#xff09; 回归&#xff08;Regression&#xff09;&#xff1a;预…

探索秘境:如何使用智能体插件打造专属的小众旅游助手『小众旅游探险家』

文章目录 摘要引言智能体介绍和亮点展示介绍亮点展示 已发布智能体运行效果智能体创意想法创意想法创意实现路径拆解 如何制作智能体可能会遇到的几个问题快速调优指南总结未来展望 摘要 本文将详细介绍如何使用智能体平台开发一款名为“小众旅游探险家”的旅游智能体。通过这…

获取非加密邮件协议中的用户名和密码——安全风险演示

引言 在当今的数字时代,网络安全变得越来越重要。本文将演示如何通过抓包工具获取非加密邮件协议中的用户名和密码,以此说明使用非加密协议的潜在安全风险。通过这个演示,我们希望能提高读者的安全意识,促使大家采取更安全的通信方式。 注意: 本文仅用于教育目的,旨在提高安全…

【MyBatis】初识MyBatis 构建简单框架

目录 MyBatis前言搭建一个简单的MyBatis创建Maven项目引入必要依赖创建数据表结构创建User实体类创建Mapper接口Mapper层Dao层 创建MyBatis的Mapper映射文件编写测试类传统测试类JUnit测试 MyBatis 介绍&#xff1a;MyBatis是一款半自动的ORM持久层框架&#xff0c;具有较高的…