FME学习之旅---day27

news2024/11/18 10:50:29

我们付出一些成本,时间的或者其他,最终总能收获一些什么。

教程:Excel 入门

查看和检查 Excel 数据

1.读模块读取EXCEL文件

2.对源数据进行预览

Excel Reader 参数 |将 Excel 转换为 CSV

阅读 2020 年和平均值工作表,然后计算降水量与平均值相比的百分比。创建新列后,写出 CSV

1.读模块读取EXCEL文件

点击【参数】,选择勾选,可以对读取的表单进行选择和预览

其中,Average中将Field Names Row更改为2,主要是为了不显示第一行的文本

2.添加FeatureJoiner转换器,将两个表进行合并

3.添加 ExpressionEvaluator转换器,计算百分比

表达式如下

(@Value(Precipitation)/@Value(Average Precipitation))*100

4.添加AttributeRounder转换器,对结果进行四舍五入

设置Percent of Average字段的小数位数为2

5.添加StringConcatenator转换器,添加百分比符号

将表达式的结果修改为覆盖,连接方式如下

6.写模块写出CSV

添加CSV写模块,将文件名修改为2020Precipitation

7.结果预览

Excel Writer 参数 |将 Excel 转换为 Excel

1.在上一个模板的基础上,新增其它的表,在Add Reader下选择Import Feature Types...

会出现如下弹框,选择【参数】

将2020取消勾选,勾选2018、2019

2.将2018、2019读模块连接到FeatureJoiner的Left

由于我们的输入数据没有指示数据来自哪个工作表的属性,因此无法判断月份数据属于哪一年。这可以通过启用 fme_feature_type 属性轻松解决。此属性反映功能类型(工作表)的名称。

3.启用 fme_feature_type 属性

对2018、2019、2020 reader要素类中fme_feature_type

修改后,FeatureJoiner的输出结果如下

写入 Excel 数据时使用模板文件

1.添加读模块,读取CSV数据

2.添加Counter转换器,创建行ID

修改输出属性名为:_row,开始计数设为2,因为 Excel 模板中的第一行是具有属性(列名)的标题行,而数据从第 2 行开始。

3.添加AttributeManager转换器,创建累积公式

我们将创建一个公式来计算每年的累积降水量。

使用AttributeManager转换器创建一个名为 CUMULATIVE 的新属性和另一个名为 CUMULATIVE.formula 的属性,此属性将保存公式计算的值。.formula 很重要,因为它告诉 FME 将公式值放在后端而不是直接写入。如果您忘记了 .formula,则该公式将写入字符串。

=SUM(C@Value(_row):N@Value(_row))

4.写模块写出

添加Excel写模块,然后将其命名为 WeatherDataOutput.xlsx。打开写入器参数。将“覆盖现有文件”设置为“是”;这将确保数据被覆盖,并且不会追加到现有文件(如果文件已存在)。接下来,将“模板文件”参数设置为“WeatherDataTemplate.xlsx”。

在要素类型对话框中,将工作表名称更改为 RawData/WeatherTable。这意味着将写入 RawData 工作表中名为 WeatherTable 的命名范围。可以写入同一工作表中的多个命名区域。
然后展开“删除/截断”部分,并将“截断现有图纸/命名范围”参数设置为“是”。FME 将删除 Raw Data WeatherTable 命名范围,并使用新数据重新创建它。单击“确定”完成添加编写器。

5.输出结果

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

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

相关文章

运行Android项目时,提示错误: 程序包javax.annotation.processing不存在

今天在运行项目时提示错误: 错误: 程序包javax.annotation.processing不存在 import javax.annotation.processing.Generated; 最后是修改了Android Studio的JDK的路径修改为你安装的JDK路径,完成的修复:

thinkphp 多条件查询 不起作用 = like

不起作用的代码: ( where([category_id > $item[id]]) 没起作用 ) 传递参数 $model->where(product_name, like, "%$productName%") 不起作用 public function cateProductPage() {$builder new Builder(new CategoryMod…

基于transformers框架实践Bert系列4-文本相似度

本系列用于Bert模型实践实际场景,分别包括分类器、命名实体识别、选择题、文本摘要等等。(关于Bert的结构和详细这里就不做讲解,但了解Bert的基本结构是做实践的基础,因此看本系列之前,最好了解一下transformers和Bert…

利用神经网络学习语言(一)——自然语言处理的基本要素

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下:regression2chatgpt/ch10_rnn/tokenizer.ipynb 本系列文章将深入探讨一种应用广泛的神经…

hcia datacom学习(8):静态NAT、动态NAT、NAPT、Easy IP、NAT server

1.私网地址 在现实环境中,企业、家庭使用的网络是私网地址(内网),运营商维护的网络则是公网地址(外网)。私网地址是在局域网(LAN)内使用的,因此无法被路由,不…

计算机毕业设计 | springboot药品库存追踪与管理系统 药店管理(附源码)

1,绪论 1.1 背景调研 如今药品调价频繁,且品种繁多,增加了药品销售定价的难度。药品来货验收登记中的审查有效期环节容易出错,错收过期或有效期不足的药品。 手工模式下的药品库存难以及时掌握,虽然采取了每日进行缺…

5.23.1 深度学习在乳腺癌成像中的应用

乳腺成像在早期发现乳腺癌以及在治疗期间监测和评估乳腺癌方面发挥着重要作用。最常用的乳腺成像方式是数字乳房X线摄影、数字乳腺断层合成、超声和磁共振成像。 传统的 CAD 系统基于传统的机器学习 (ML) 技术;预定义(手工制作)的特征是系统…

元器件基础学习笔记——电感的分类及主要参数

一、电感的分类 电感器是一种电子元件,它能够将电能转化为磁能并储存起来。电感器的分类方法有很多,可以根据用途、形状、结构等不同的标准进行划分。 分类依据类型备注电感值固定电感固定线圈可变电感改变磁芯的饱和度用途高频电感绕线型,积…

Nest的test中的best是Jest框架

Nest的test中的best是Jest框架 前言 花了3天时间给自己之前做的一个小系统基本补完了单元测试,趁此机会>脑袋里对于单元测试的知识还算热乎,来输出一篇比较详细的关于单元测试的文章,以梳理知识,融汇贯通;如果对你…

配置旁挂二层组网直接转发示例(命令行)

业务需求 企业用户通过WLAN接入网络,以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时,不影响用户的业务使用。 组网需求 AC组网方式:旁挂二层组网。DHCP部署方式: AC作为DHCP服务器为AP分配IP地址。汇聚交换机SwitchB作…

vue小记——小组件(1)

代码&#xff1a; <template><div><el-steps :active"active" finish-status"success" simple><el-step title"数据导入"><i class"fa fa-cloud-upload fa-icon-custom" slot"icon"></i…

Docker搭建mysql性能测试环境

OpenEuler使用Docker搭建mysql性能测试环境 一、安装Docker二、docker安装mysql三、测试mysql连接 一、安装Docker 建立源文件vim /etc/yum.repos.d/docker-ce.repo增加内容[docker-ce-stable] nameDocker CE Stable - $basearch baseurlhttps://repo.huaweicloud.com/docker…

【手势识别-UIPinchGestureRecognizer捏合-UIPanGestureRecognizer缩放 Objective-C语言】

一、接下来,我们来说这个捏合,和,这个缩放啊 1.捏合, 首先呢,步骤,也都是一样的啊, 1)创建手势对象 2)添加手势 3)实现手势方法 pinch:捏合 UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:(id) action:(SEL)]; U…

ThreadLocal原理及使用

一、引言 在Java多线程编程中&#xff0c;ThreadLocal是一个非常有用的工具&#xff0c;它提供了一种将对象与线程关联起来的机制&#xff0c;使得每个线程都可以拥有自己独立的对象副本&#xff0c;从而避免了线程安全问题。然而&#xff0c;使用不当会导致内存泄漏问题。 二…

spring-boot整合Micrometer+Prometheus

环境&#xff1a; micrometer 1.8.2 prometheus 0.14.1 spring-boot-actuator 2.6.6 使用案例 <!-- Springboot启动actuator&#xff0c;默认会引入依赖&#xff1a;micrometer-core --> <dependency><groupId>org.springframework.boot</groupId>&l…

ctfhub中的SSRF相关例题(中)

目录 上传文件 gopher协议的工作原理&#xff1a; gopher协议的使用方法&#xff1a; 相关例题: FastCGI协议 FastCGI协议知识点 相关例题&#xff1a; Redis协议 知识点&#xff1a; 相关例题 第一种方法 第二种方法 上传文件 gopher协议的工作原理&#xff1a; …

《ESP8266通信指南》番外-(附完整代码)ESP8266获取DHT11接入(基于Lua)

前言 此篇为番外篇,是 ESP8266 入门的其他功能教程,包括但不限于 DHT11 驱动TCP 通信Thingsboard 平台的接入阿里云物联网云平台接入华为云平台接入 1. 小节目标 使用 Lua 驱动 DHT11 传感器,获取温湿度的值 2. 进入主题 NodeMCU 基于 LUA 相关资料 官方文档&#xff1a;…

商品指数创年内新高,粘性通胀成为美联储噩梦

文章概述 虽然美国4月CPI增幅放缓让美联储今年降息的可能性大增&#xff0c;但与此同时&#xff0c;大宗商品价格却达到了一年来的最高水平&#xff0c;粘性通胀可能成为美联储的噩梦。数据显示&#xff0c;跟踪24种能源、金属和农业合约彭博大宗商品现货指数今年以来已经上涨…

Mysql超详细安装配置教程(保姆级图文)

MySQL是一种流行的开源关系型数据库管理系统&#xff0c;它广泛用于网站和服务的数据存储和管理。MySQL以其高性能、可靠性和易用性而闻名&#xff0c;是许多Web应用程序的首选数据库解决方案之一。 一、下载安装包 &#xff08;1&#xff09;从网盘下载安装文件 点击此处直…

RK3588 Android13 TvSetting 中增加字体样式切换功能

前言 电视产品,客户需求又升级了,有了切换字体大小还不行,还得增加动态切换字体样式功能, 同样需要在设备偏好设置子菜单里的显示和声音二级菜单里增加字体样式菜单功能,开整。 效果图 framework 部分修改文件清单 frameworks/base/data/fonts/fonts.mk frameworks/bas…