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

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

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

相关文章

TYPE-C转DC转接头方案,ECP5701支持5V、9V、12V、15V、20V电压输出

如今随着这几年的USB-C PD适配器的普及,消费者手上的PD适配器越来越普遍,如何让以前的电源适配器也可以用上PD适配器呢?如此一来以前的电源适配器坏了,就不需要费心费力的寻找相同的适配器进行更换,甚至于只能将整个设…

Xilinx FPGA:vivado关于单端ROM的一个只读小实验

一、实验要求 将生成好的voe文件里的数据使用rom读取出来,采用串口工具发送给电脑(当按键来临时)。 二、程序设计 按键消抖模块: timescale 1ns / 1ps module key_debounce(input sys_clk ,input rst_n…

怎么录制电脑内部声音?好用的录音软件分享,看这篇就够了!

如何录制电脑内部声音?平时使用电脑工作,难免会遇到需要录音的情况。好用的录音软件有很多,也有部分录屏工具也支持录音功能。 那么如何录制电脑内部声音呢?本文整理了几个录制电脑内部声音的方法,如果你需要在电脑上录…

Spring框架的学习SpringMVC(1)

1.什么是MVC (1)MVC其实就是软件架构的一种设计模式,它将软件的系统分为,(视图,模型,控制器)三个部分 1.1View(视图) 视图也就是,在浏览器显示的那一个部分,是后端数据的呈现 1.…

使用Spock框架进行行为驱动开发(BDD)

行为驱动开发(BDD)是一种软件开发方法,它鼓励开发团队、业务参与者和QA之间的协作。Spock框架是一个强大的测试和规范框架,它结合了JUnit和Groovy的优点,使得编写清晰、可读性强的测试代码变得非常容易。本文将详细介绍…

推荐一个私有化部署的物联网平台

引言 随着物联网技术的飞速发展,越来越多的企业开始寻求能够提供稳定、安全、可定制的物联网解决方案。私有化部署的物联网平台因其能够满足企业对数据安全和个性化需求的优势,逐渐成为市场的新宠。本文将详细介绍ThingsKit物联网平台,一个专…

【HarmonyOS NEXT】鸿蒙Socket 连接

简介 Socket 连接主要是通过 Socket 进行数据传输,支持 TCP/UDP/Multicast/TLS 协议。 基本概念 Socket:套接字,就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。TCP:传输控制协议(Transmission Control Proto…

常见问题记录

conda操作 conda精确查找某个包的版本 conda list 包名下载源 -i https://pypi.mirrors.ustc.edu.cn/simple/conda查看下载源 conda config --show channels下载torch conda install pytorch1.13.0 torchvision0.14.0 torchaudio0.13.0 cpuonlyconda环境没有名字 利用vsc…

【java计算机毕设】美容院管理系统 项目源代码MySQL springboot vue html maven+文档 前后端可分离也可不分离

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】美容院管理系统 项目源代码MySQL springboot vue html maven文档 前后端可分离也可不分离 2项目介绍 系统功能: 美容院管理系统包括管理员、用户俩种角色。 管理员功能包括个人中心模块用于修改…

“第六感”真的存在吗?

现在已有证据表明,人类除视觉、听觉、嗅觉、味觉和触觉五种感觉以外,确实存在“第六感” “第六感”的学术名称为“超感自知觉”(简称ESP),它能透过正感官之外的渠道接收信息, 预知将要发生的事,而且与当事人之前的经…

苹果(apple)ios系统和安卓(Android) apk系统开发者账号类型及申请步骤

苹果(Apple) iOS系统和安卓(Android) APK系统的开发者账号类型及申请步骤如下: ### 苹果(Apple) iOS系统开发者账号类型: 1. **个人开发者账号(Individual)**: - 适用于个人开发者和小型公司。 - 可以发布应用程序到App Store。 -…

Prompt Engineering 探险

Introduction, Concepts Text generation models generation pre-trained transformers, GPT for short. 所以呢,前置知识是Transformer Assistants 助手指的是能够为用户执行任务的实体; Embeddings 是数据的一种vector形式,含有原来的…

向量数据库、主键存储引擎、高速网络 RDMA 框架……DolphinDB 版本更新啦!

盛夏已至,炎热的七月伊始,DolphinDB 也迎来了版本的更新。此次更新的 3.00.1 与 2.00.13 版本从多个维度进行了优化扩展,进一步深化了 DolphinDB 在机器学习、数据分析等领域的尝试与探索。 为了响应用户日益增长的 AI 运算需求,…

C语言自定义类型(结构体,枚举,联合):

大家好久不见,今天我们来学习一下C语言中的自定义类型: C语言的自定义类型包括:结构体,枚举和联合,接下来大家跟我来一起认识一下这三种类型。 目录 1. 结构体 1.1.1 结构体类型的声明 1.1.2 结构的特殊声明 1.1…

钡铼RTU无线S270用于风力发电站机房远程状态监测和故障预警系统集成

在现代风力发电行业中,机房的远程监测和故障预警系统对于保障风力发电机组的稳定运行至关重要。钡铼第4代S270工业级4G远程遥测终端(RTU),以其先进的技术和多功能应用,成为风力发电站机房智能化管理的理想选择。 技术…

深入理解计算机系统 CSAPP 8.4.2 fork函数

//fork.c #include <sys/types.h> #include <unistd.h> #include <stdio.h>int main() {pid_t fpid; //fpid表示fork函数返回的值int count 0;fpid fork();if (fpid < 0)printf("error in fork!");else if (fpid 0) {printf("\ni am th…

初始化 Kubernetes 集群的必要步骤

以下是成功初始化 Kubernetes 集群的必要步骤: 1. 配置 Kubelet 创建并编辑 /etc/default/kubelet 文件: sudo nano /etc/default/kubelet添加以下内容: KUBELET_EXTRA_ARGS="--container-runtime=remote --container-runtime-endpoint=unix:///var/run/cri-dockerd.s…

相机网线RJ45连接器双端带线5米8芯绿色网线注塑成型

相机网线RJ45连接器双端带线5米8芯绿色网线注塑成型&#xff0c;这款网线采用了环保的绿色材质&#xff0c;线长5米&#xff0c;足够满足大多数拍摄场景的需求。更重要的是&#xff0c;它采用了8芯设计&#xff0c;保证了数据传输的稳定性和高速性。在接口方面&#xff0c;它采…

电容的作用和应用

电容是一种常见的电子元件&#xff0c;在电路中起着多种重要作用&#xff0c;并广泛应用于各种电子设备和系统中。 一、电容的主要作用 储能&#xff1a;电容的基本作用是储存电荷。当电容两端加上电压时&#xff0c;电容会储存电荷&#xff0c;储存的电荷量与电压成正比。这…

数据增强:目标检测算法中的性能提升利器

引言 目标检测是计算机视觉领域的核心任务之一&#xff0c;旨在从图像或视频中识别和定位感兴趣的对象。然而&#xff0c;由于训练数据的局限性&#xff0c;目标检测模型往往面临过拟合和泛化能力不足的问题。数据增强作为一种有效的解决方案&#xff0c;通过增加数据多样性来…