25.labview数据采集中的读取和写入文本文件和Excel表格文件

本文将会讲解labview读取和写入文本文件和Excel文件的几种不同方式,讲解程序的基本原理,并提出具体的实施方案,本文内容如下所示。
本文文章结束会提供大家 文本和表格读取写入的源程序 ,以便于大家学习和使用。

本文中可能用到的基础知识为路径、字符串、数组等相关的知识,如果想补充与路径相关的基础知识的话可以点击下方链接查看:
Labview字符串与路径精讲(下) — 字符串及路径的用法汇总:
https://blog.csdn.net/m0_52176775/article/details/136907059

文件读写

  • 1. 数据存储的类型
  • 1. 文本文件的读取和写入
    • 1.1 文本文件读取
    • 1.2 文本文件写入
  • 2. Excel表格文件的读取和写入
    • 2.1 获取Excel的表格Sheet信息
    • 2.2 Excel的读取与写入

1. 数据存储的类型

本文中只讲解两种数据存储类型,文本(txt)类型和表格(excel)类型数据 这两种存储类型我们可以认为是存储的中间类型,可用做原始数据的存储,以便于matlab等相关软件识别调用做后续数据处理相关工作。
在这里插入图片描述
由图可以看到,第一层为Laview进行数据采集的阶段,获取原始数据并显示,第二层为数据存储阶段,根据数据类型的存储要求,提供了文本存储和表格存储两种方式。具体如下文所示

1. 文本文件的读取和写入

本节内容的应用场景比较广泛,如我们在进行仪器的数据采集实验中,得到来自于传感器或者仪器内部采集到的大量原始数据时,以何种形式储存是至关重要的,这意味着我们将数据保存为某种中间格式后将拿到什么软件中进行处理,因此数据的保存格式及保存的文件格式都是至关重要的。
如:一个时域仪器实时采集外在信号,我们将仪器采集到的时域数据以二维数组的形式保存为txt格式的文本数据,在matlab和python中都可以通过分隔符的索引调用该数据并进行去噪相关的数据处理。
在这里插入图片描述

1.1 文本文件读取

文本文件的读取往往与字符串相关,即读取的在Labview中显示为字符串形式,程序如下图所示:
在这里插入图片描述
本程序中使用了打开/创建/替换文件、读取文本文件、关闭文件三个函数,在文件路径中输入想要打开的文本文件,点击运行程序,此时前面板文本字符串控件中就可以看到对应TXT文件内的内容了。
这里需要特别注意一点,当我们的TXT文档里面有中文时,此时打开显示时我们发现我们的字符串里边的文字都是乱码的, 这是由于文件的编码格式不同导致的,如下图所示:
在这里插入图片描述
当我们发现有这种情况时,只需要将文本文件另存为一个新文件,并在保存前将文件的编码格式转换为ANSI格式即可。
在这里插入图片描述
转换完成后我们在运行程序发现前面板的字符串中显示的文本变成了正常文本。
在这里插入图片描述
文本文件的读取方式比较简单在此提出将不做过多的赘述。

1.2 文本文件写入

①字符串类文本文件的写入方式与读取方式其实是差不多的,其具体程序如下图所示:
在这里插入图片描述
输入文件路径并将需要写入的文件在前面板输入控件中输入,点击运行程序,此时打开.txt文件就可以看到文内容已经更新到文本文件中了。
在这里插入图片描述
文件中显示如图所示:
在这里插入图片描述
这里需要说明一下,从一个程序中大家既想写入文件又想读取文件时,那么尽量在写入文件之后关闭该文件,然后再重新创建新的路径打开此文件,最终在文件调用结束后关闭程序前使用关闭文件函数释放掉该文件所在路径的内存引用,避免内存引用占用程序过多的路径及内存,针对于以上的情况大家可以使用移位寄存器来刷新文件的路径,这样就可以避免多次重复打开文件了。

②数组类文件写入除了将数字转换为字符串再使用上述方法之外,还可以使用表格函数直接将数据写入,其程序可以使用如下函数来写。可以看到该函数有两个重点,一个是文件路径这里不过多强调,第二个该函数可以选择传入一维数据或二维数据。
在这里插入图片描述
我们以一个一维数组为例,随机生成一个20个元素的一维数组,每个元素大小为0-100,在目标文件中生成该文件,程序如下图所示:
在这里插入图片描述
运行程序后,我们得到一个文本文件,此时写入成功。
在这里插入图片描述
题主觉得这种写入数组文件的方式更适合做一些用于matlab等数据处理时调用的文本文件。

2. Excel表格文件的读取和写入

本节说明一下将Excel文件写入Excel表格和读取出数据的方式,这种功能常用在自动化测试中的测试用例写入、测试数据写入等场景中,话不多说,分两个小节来叙述。

2.1 获取Excel的表格Sheet信息

Excel文件的读取的函数,我们使用后面板函数中的 “文件I/O”—高级文件函数中的函数和 “报表生成” 中的相关函数来写, 我们都知道一个Excel文件是可以创建多个Sheet的,那么当我们建立分表时,写入哪个分表就成了一个问题,本节给大家介绍一个获取所有分表的一个程序:
在这里插入图片描述
我来解释一下这个程序,使用了四个函数 “创建报表、Get Worksheet、Workbook Properties、处置报表” 初始化创建一个报表的程序,在while循环中依次按顺序打开报表中的sheet,这里注意:当没有该sheet时,错误簇为T,程序终止。接下来看一下效果,在Excel中创建了以下几个sheet:
在这里插入图片描述
在我们程序的前面板将该表格地址输入,运行后可以看到。
在这里插入图片描述

2.2 Excel的读取与写入

在这里我将Excel表格的读取和写入放在了一个文件中,因为我考虑到大家在写程序的时候可以将这个程序封装为一个VI,以便于可以调用,到时候既可以做读取,也可以做写入,具体的读取与写入代码如下:
由于我们使用的是Excel表格,所以题主在这里将数据类型定义为了 二维数组

在这里插入图片描述
该程序可以读取当前表格内部的对应sheet的内容,并且以二维数组的格式列举出来,在“写入数据”的二维数组中,整理对应的表格,程序会自动将该表格内部的数据保存至相应的Excel表格的相应位置。
这里就不在给大家过多讲解了,我把程序分享在文章的末尾,大家自行学习。

链接:https://pan.baidu.com/s/1oBWLpVCzSs9IfJSXvw8rJA
提取码:6666

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

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

相关文章

家政小程序的开发:打造现代式便捷家庭服务

随着现代生活节奏的加快,人们越来越注重生活品质与便利性。在这样的背景下,家政服务市场迅速崛起,成为许多家庭日常生活中不可或缺的一部分。然而,传统的家政服务往往存在信息不对称、服务效率低下等问题。为了解决这些问题&#…

Windows10录屏,教你3个方法,简单快速录屏

“我的电脑系统是Windows10的系统,今晚要进行线上开会,但我实在有事没办法参加会议,想把会议的内容录制下来方便我后续观看。但却找不到电脑录屏功能在哪里打开?求助一下,谁能帮帮我?” 在数字化时代&…

Oracle - 数据库打补丁实践

原文:https://www.cnblogs.com/ddzj01/p/12097467.html 一、概述 本文将介绍如何给oracle数据库打最新补丁,数据库版本为11.2.0.4单实例,操作系统为redhat6.5 二、下载相关升级包 1. 登录MOS,查阅(ID 2118136.2),下载…

编译原理1

NFA&DFA 在正规式的等价证明可以借助正规集,也可以通过有限自动机DFA来证明等价,以下例题是针对DFA证明正规式的等价,主要步骤是①NFA;②状态转换表; ③状态转换矩阵; ④化简DFA; 文法和语…

20240702在飞凌OK3588-C开发板上通过HDMI OUT输出USB3.0接口的热像仪的预览图像

20240702在飞凌OK3588-C开发板上通过HDMI OUT输出USB3.0接口的热像仪的预览图像 2024/7/2 18:19 rootok3588:/# rootok3588:/# rootok3588:/# lsusb Bus 005 Device 001: ID 1d6b:0002 Bus 003 Device 001: ID 1d6b:0001 Bus 001 Device 001: ID 1d6b:0002 Bus 006 Device 00…

llama-factory训练RLHF-PPO模型

理论上RLHF(强化学习)效果比sft好,也更难训练。ppo有采用阶段,步骤比较多,训练速度很慢. 记录下工作中使用llama-factory调试rlhf-ppo算法流程及参数配置,希望对大家有所帮助. llama-factory版本: 0.8.2 一 rlhf流程 ppo训练流程图如下, 会…

【Linux】—Xshell、Xftp安装

文章目录 前言一、下载Xshell、Xftp二、安装Xshell三、使用XShell连接Linux服务器四、修改windows的主机映射文件(hosts文件)五、远程连接hadoop102/hadoop103/hadoop104服务器六、安装Xftp 前言 XShell远程管理工具,可以在Windows界面下来访…

Springboot整合RedisTemplate以及业务工具类示例

docker安装Redis参考我另一篇博客Docker安装Redis及持久化 一、Get-Started 依赖 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --> <dependency><groupId>org.springframework.boot</groupId>…

Java_多线程:线程池

1、线程池优点&#xff1a; 降低资源消耗&#xff1a;通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度&#xff1a;当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行。提高线程的可管理性&#xff1a;线程是稀缺资源&#xff0c;如果无限…

Django 多对多关系

多对多关系作用 Django 中&#xff0c;多对多关系模型的作用主要是为了表示两个模型之间的多对多关系。具体来说&#xff0c;多对多关系允许一个模型的实例与另一个模型的多个实例相关联&#xff0c;反之亦然。这在很多实际应用场景中非常有用&#xff0c;比如&#xff1a; 博…

因版本冲突导致logback的debug日志不打印

因框架调整&#xff0c;降级了logback的版本号&#xff0c;由1.3.12降级为1.2.11&#xff08;因框架限制&#xff0c;只能采用1.2版本&#xff09;&#xff0c;降级后发现debug日志无法打印出来&#xff0c;logback.xml配置文件不生效。后排查发现是与slf4j的版本兼容问题 依赖…

搜维尔科技:数据手套为什么要选择SenseGlove

了解 SenseGlove SenseGlove 是一支由电子工程师、触觉研究人员和计算机视觉专家、XR 开发人员、UX 设计师和产品创新者组成的科幻爱好者团队&#xff0c;他们拥有丰富人类能力和赋予 Metaverse 意义的技能和热情。 推进触觉技术是我们实现这一目标的方式。 公司及产品背景 S…

基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建Kafka大数据运算环境---任务12:安装Kafka

任务描述 任务内容为安装和配置Kafka集群。 任务指导 Kafka是大数据生态圈中常用的消息队列框架 具体安装步骤如下&#xff1a; 1. 解压缩Kafka的压缩包 2. 配置Kafka的环境变量 3. 修改Kafka的配置文件&#xff0c;Kafka的配置文件存放在Kafka安装目录下的config中 4. 验证…

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例应用

随着航空、航天、近地空间遥感平台的持续发展&#xff0c;遥感技术近年来取得显著进步。遥感数据的空间、时间、光谱分辨率及数据量均大幅提升&#xff0c;呈现出大数据特征。这为相关研究带来了新机遇&#xff0c;但同时也带来巨大挑战。传统的工作站和服务器已无法满足大区域…

JDK动态代理-AOP编程

AOPTest.java&#xff0c;相当于main函数&#xff0c;经过代理工厂出来的Hello类对象就不一样了&#xff0c;这是Proxy.newProxyInstance返回的对象&#xff0c;会hello.addUser会替换为invoke函数&#xff0c;比如这里的hello.addUser("sun", "13434");会…

【驱动篇】龙芯LS2K0300之红外驱动

实验目标 编写HX1838红外接收器驱动&#xff0c;根据接收的波形脉冲解码红外按键键值 模块连接 模块连接&#xff1a;VCC接Pin 2&#xff0c;GND接Pin1&#xff0c;DATA接Pin16 驱动代码 HX1838 GPIO初始化&#xff0c;申请中断&#xff0c;注意&#xff1a;GPIO48默认是给…

vscode语言模式

1.背景 写vue3ts项目的时候&#xff0c;用到了volar插件&#xff0c;在单文件使用的时候&#xff0c;鼠标悬浮在代码上面会有智能提示&#xff1b; 但是最近volar插件提示被弃用了&#xff0c;然后我按照它的官方提示&#xff0c;安装了Vue-official扩展插件&#xff0c;但是…

Vue3 特点以及优势-源码解剖

Vue3 特点以及优势-Vue3.4源码解剖 Vue3 特点以及优势 1.声明式框架 命令式和声明式区别 早在 JQ 的时代编写的代码都是命令式的&#xff0c;命令式框架重要特点就是关注过程声明式框架更加关注结果。命令式的代码封装到了 Vuejs 中&#xff0c;过程靠 vuejs 来实现 声明式代…

剑神诀_单机架设_无需虚拟机_小白专用

前言 今天给大家带来一款单机游戏的架设&#xff1a;剑神诀&#xff0c;一键端 无需虚拟机 如今市面上的资源参差不齐&#xff0c;大部分的都不能运行&#xff0c;本人亲自测试&#xff0c;运行视频如下&#xff1a; 剑神诀 搭建教程 此游戏架设不需要安装虚拟机&#xff0c;…

爬虫cookie是什么意思

“爬虫 cookie”指的是网络爬虫在访问网站时所使用的cookie&#xff0c;网络爬虫是一种自动化程序&#xff0c;用于在互联网上收集信息并进行索引&#xff0c;这些信息可以用于搜索引擎、数据分析或其他目的。 本教程操作系统&#xff1a;Windows10系统、Dell G3电脑。 “爬虫…