LabVIEW读取txt文件,并把其中的信息(比如数据或者字符串)提取出来供后续编程使用,真心求高人解答过程

来自:    更新日期:早些时候
labview如何读取文本文档中某一行的字符串~

Read from Text File函数有一个count输入,表示从文本文件中读取的字节数(byte),当设置为-1时表示整个文本。此外,在函数的右键快捷菜单中选择“Read Lines”将以行为单位(而不是字节)读取文本文件。Read from Text File函数同样也提供了“Convert EOL”选项,此时该函数将把所有基于平台的行结束符转换为换行符,如将“”和“
”转换为“
”。

你之前用的队列结构是完全可行的。 有几个问题你必须清楚:
1. 读取txt文件中的数据,txt中数据是死的,也就是说读取过程叫做 ---- 数据回放
2. 读取实际信息的数据,数据是活的,通常可以叫做 --- 动态数据采集 (实时采集)

针对第一点来说: 数据回放,是指要求你把已经有的数据,按不同的时间段进行回放,这需要你对txt文件中的数据的格式,怎么回放,回放时间间隔把握好。 这个我建议你先不要做,因为数据回放 就是把数据一个个拿出来,再按时间排列去一个个显示出去, 不如实时采集来的直接。

第二点, 实时采集, 也就是说,数据来源可以有两种: 1. 真实数据。 2. 模拟数据。
在你之前的范例程序中,也就是“基础队列.vi”中, 在循环内部的随机数模块,就是模拟数据。
也就是说,是人为做的一个循环随机数。 而真实数据, 就是实际采集到的数据(替换模拟数据)。 真实数据来源有很多种,比如,串口通讯,接收到的不停变换的数据(动态数据)。

在最初做这个项目的时候,我的建议是,如果不了解 真实数据(板卡数据采集/通讯等), 那么就使用模拟数据, 在labview中有很多可以模拟的子VI,比如正玄波发生器等等。
或者, 人为造信号,比如之前的“基础队列.vi”中,范例造的随机数信号。

这里就涉及到你之前问的一个问题, 数 --- 字符串 。 (这些是计算机基础知识)
字符在c语言中是char类型,在数据的传递中, 字符串是以ASCII码形式传输的, 说白了也是数
只不过比如“s”对应的ASC码数是“78”(没查表只是举例)。 在内存中占1个字节。
所以,当以字符串传递数据的时候, 数的表现形式往往是 人 看不懂的,因为是ASC码

所以,你传递整数, 传递字符串,其道理是一样的,只是如何能让人 来读懂这些数。
所以 “基础队列.vi”中的 随机数 vi 是以double双精度数传递的 一个 数, 而你所要做的就是
把 这个 随机数vi 换成 字符串的输出形式。

labview查找 数组转字符串 这个vi 或 字符串转8位数组 这个vi, 然后查看如何使用,可以帮助你, 而demo的 “基础队列.vi”程序可以保留, 你所要做的就是以上说的这些基础。

如果无法理解数据 传输 ,以及相关的计算机基础 知识, 只能恶补了,现在很难几句说清楚啊

这么多用LabVIEW的人(包括回答的)连这么基本的编程常识都没有吗?

既然你已经知道了文件内容的格式,又是用文本(ASCII)方式保存的,直接把内容读进来,然后扫描字符串啊!看图吧。

你试过了所有函数?哪里弄到的LabVIEW超级精简版?



用它读取文本文件



刨除逗号和空格等分隔符,我做过,但你要求:实现1和2相加,还没做过,我这个笔记本上没装Labview,我明天试试,成功了再回你!

读取显示即可啊。这个满意设计论坛有好多资料,你可以直接下载使用。

这个我试过,scan函数需要事先指定输出类型,如果文件的内容非常多,不可能为每一个信息都指定输出类型吧,而且要求是不能事先打开文件,这样更无法设置输出类型了。
我后来又看了看读电子表格函数,发现它可以设置分隔符,我现在设置为逗号,这样就可以把所有以逗号为分隔的信息输出到数组中,但恶心的是我需要的文件不仅有逗号还有以空格为分隔符的,但是读电子表格函数只能设置一个分隔符,这咋办呢
这样的只知道一点皮毛就下结论不好啊,很容易错过许多好东西。
1. 如果文件中数据有或多组(行),那就把扫描字符串放入循环啊,一般把该函数的错误输出接循环结束控制,处理完字符串后退出循环。该函数输出有“剩余字符串”接线端,用起来多方便啊。使用移位寄存器或者反馈节点,给下次循环继续处理,每次的结果可以捆绑成簇,最后通过循环自动索引成数组。或者每个数据独立索引成数组(LabVIEW推荐这种,数据结构扁平一些,用起来方便,处理效率高)。循环最后一次的结果是因为循环多执行了一次,使用“删除数组元素“(长度和索引都不接,默认删除最后一个元素)删掉即可。
2. 设置输出类型?
你用文本模式的话,打开文件的这一步的输出类型就是字符串,后面想怎么用,再用字符串处理的各种函数去转换呗。
如果你用二进制模式,用“读取二进制文件”函数,把簇或者数组之类的结构接到“数据类型”端就行了。
你是说文件类型?设置文件路径输入控件的“类型标签”和“匹配模式”(用属性节点或手动设置,有多个的话用分号分隔)。
3. 你没用过正则表达式?LabVIEW字符串函数中有“匹配模式”和“匹配正则表达式”。好吧,其实这里只是匹配分隔符,杀鸡不用宰牛刀,用“附加字符串函数”里面的“在字符串中搜索标记”就行了。同样是放入循环中,但是注意,在循环间用反馈节点或移位寄存器往下传的不是字符串,而是“偏移量”。
“读取电子表格”就不是在这种时候用的。
我有时间再补图。

没看懂,,,用其他方式解决了,依然感谢!现文件的所有元素都可以索引了(用二维数组显示的)。又遇到一个问题,真心求教~
文件信息如下
2
100,200
50,150
2表示有两个采样频率,100和50,分别采了200和150个点。
如果已知了有2个采样频率,那么对采样信息100,200和50,150的索引是很方便的,但由于2的位置可能是3,4,5,相应的采样信息行数就是3,4,5行,那么如何让labview根据2所在位置的数据自动索引全部采样信息呢
用“读取文本文件”函数的“读取行”模式(函数节点上右键选择),“计数”端使用常数1,这样就读出了第一行。
此时第一行的字符串是在输出的字符串数组的唯一一个元素中,索引一下就得到了。
用扫描字符串函数得到数值,再使用这个数值作为下一次“读取行”的计数,读出后面你需要的行数。得到后面的字符串数组。现在文件就可以关闭了。
用for循环自动索引字符串数组,for循环内部得到的字符串再用扫描函数得到两个数值,然后可以用“按名称捆绑”替换在for循环外提前建好的有“采样频率”和“采样点数”的簇,最后就得到了包含采样信息的簇数组了。

就不贴图了,贴图很容易就被禁了。要怪就怪百度吧。

注意文件的最后一行,如果没有最后的回车换行符,读取函数会报“ 到达文件结尾”的错误,因为那一行是不完整的。在文件末尾加上回车换行,或者忽略该错误都行。

这样读进来只有一个元素,1,2,labview作为一个元素放在了数组中,没法索引啊
把txt中的逗号和空格用Tab替换,做成了没,不行的话,用"换行符"替换吧!


LabVIEW读取txt文件,并把其中的信息(比如数据或者字符串)提取出来供后续编程使用,真心求高人解答过程视频

相关评论:
  • 15088781521如果用labview读取TXT文件里的数据
    纪琴司1、首先需要用文件I\/O中的读取电子表格文件函数,将txt文件中的数据读成一个二维数组,共两列,第一列是x轴的数据,第二列是y轴的数据。2、第二个索引数组函数的两个索引接线端中的第一个接线端也接for循环i(重复端子),但第二个接线端接常数1,然后将两个函数的输出连接到bundle的两个接线端...

  • 15088781521labview 读取txt文件!
    纪琴司你是说打开对话框选择txt文件么?这个好实现,按照你说的意思,起始路径应该是固定的,就用下图所示的方法就行。这里假定你的txt文件都放在D盘下的data文件夹下 另附程序 8.2版本 程序试了几次都上传不了,貌似出问题了,需要的话,直接联系我 QQ 2631671020 ...

  • 15088781521labview,怎么读取文本数据并使其输出为数组。
    纪琴司就用读取电子表格这个函数即可,文件路径选择这个文件,因为只有一列,在下方转置处输入T,输出选择一维数组即可

  • 15088781521请问labview读txt和excel哪个更快?
    纪琴司最后讲一下labview中文件读取的速度 第一种,文本格式又称为ASCII码文件或字符文件。这种格式非常通用,用户可以用其他的软件来访问数据,例如字处理软件Word或者Excel等,在仪器控制系统中的大部分控制指令也是用文本字符串。文本文件的缺点是占用的磁盘空间较大,比如存储一个浮点数-864.39571,因为每个字符...

  • 15088781521labview读取文件如何做到从后往前逐行读取
    纪琴司这个问题其实和你需要读取的文件格式有关。例如文本文件或者tdms文件方法是不一样的。现在假设你要读取一个有4行文字的文本文件(.txt格式),从后向前逐行读取的方框图如下:文本文件的文件名叫tst.txt,放在附件里面了

  • 15088781521用labview如何读取并处理数据?
    纪琴司1.首先需要使用文件I/O来读取电子表格文件的功能,将TXT文件中的数据读入一个二维数组,共两列,第一列是x轴数据,第二列是y轴数据。2.第二个索引数组函数的两个索引末端的第一个也连接到for循环I(repeatterminal),但是第二个末端连接到常数1,然后两个函数的输出连接到bundle的两个末端。3....

  • 15088781521labview如何读取txt中的一系列浮点数,并转为二进制输出到端口?_百度...
    纪琴司先将文本文件中的逗号替换成英文半角格式的(对应十六进制ASCII码为2C),显示如下:存放数据的txt文件 在LabVIEW中调用读取电子表格的函数,分隔符用正确的逗号符:程序框图 运行即可在前面板得到正确的显示输出。前面板

  • 15088781521如何用LabVIEW实现对字符串数据的快慢读取?
    纪琴司1. 读取txt文件中的数据,txt中数据是死的,也就是说读取过程叫做 --- 数据回放 2. 读取实际信息的数据,数据是活的,通常可以叫做 --- 动态数据采集 (实时采集)针对第一点来说: 数据回放,是指要求你把已经有的数据,按不同的时间段进行回放,这需要你对txt文件中的数据的格式,怎么回...

  • 15088781521如何通过labview将txt文件里面自己想要的数据提取出来绘制成曲线_百 ...
    纪琴司第一步,读取TXT数据,得到字符串 第二步,循环搜索字符串41 05,得到索引,然后截取2位数据,并将数据转换为数值,需要用while循环 第三步,将转换的数值打包成数组,接波形显示 完成

  • 15088781521labview读取txt文件的问题
    纪琴司你每次读取一行干什么用?“读取文本文件”函数右键菜单里面有“读取行”,左面有接线端可以设置每次读取的行数,-1表示所有,输出为字符串数组类型。不连表示读一行,输出为单个字符串类型。我这个例子是每次读取一行,用串口发出去。

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网