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

比如,txt中有1到10,10个数。我想把1~10提出来分别与另一个数相乘。然后把这些结果显示在波形图上。

这么多用LabVIEW的人(包括回答的)连这么基本的编程常识都没有吗?
既然你已经知道了文件内容的格式,又是用文本(ASCII)方式保存的,直接把内容读进来,然后扫描字符串啊!看图吧。
你试过了所有函数?哪里弄到的LabVIEW超级精简版?
这样的只知道一点皮毛就下结论不好啊,很容易错过许多好东西。
1. 如果文件中数据有或多组(行),那就把扫描字符串放入循环啊,一般把该函数的错误输出接循环结束控制,处理完字符串后退出循环。该函数输出有“剩余字符串”接线端,用起来多方便啊。使用移位寄存器或者反馈节点,给下次循环继续处理,每次的结果可以捆绑成簇,最后通过循环自动索引成数组。或者每个数据独立索引成数组(LabVIEW推荐这种,数据结构扁平一些,用起来方便,处理效率高)。循环最后一次的结果是因为循环多执行了一次,使用“删除数组元素“(长度和索引都不接,默认删除最后一个元素)删掉即可。
2. 设置输出类型?
你用文本模式的话,打开文件的这一步的输出类型就是字符串,后面想怎么用,再用字符串处理的各种函数去转换呗。
如果你用二进制模式,用“读取二进制文件”函数,把簇或者数组之类的结构接到“数据类型”端就行了。
你是说文件类型?设置文件路径输入控件的“类型标签”和“匹配模式”(用属性节点或手动设置,有多个的话用分号分隔)。
3. 你没用过正则表达式?LabVIEW字符串函数中有“匹配模式”和“匹配正则表达式”。好吧,其实这里只是匹配分隔符,杀鸡不用宰牛刀,用“附加字符串函数”里面的“在字符串中搜索标记”就行了。同样是放入循环中,但是注意,在循环间用反馈节点或移位寄存器往下传的不是字符串,而是“偏移量”。
“读取电子表格”就不是在这种时候用的。
用“读取文本文件”函数的“读取行”模式(函数节点上右键选择),“计数”端使用常数1,这样就读出了第一行。
此时第一行的字符串是在输出的字符串数组的唯一一个元素中,索引一下就得到了。
用扫描字符串函数得到数值,再使用这个数值作为下一次“读取行”的计数,读出后面你需要的行数。得到后面的字符串数组。现在文件就可以关闭了。
for循环自动索引字符串数组,for循环内部得到的字符串再用扫描函数得到两个数值,然后可以用“按名称捆绑”替换在for循环外提前建好的有“采样频率”和“采样点数”的簇,最后就得到了包含采样信息的簇数组了。

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

注意文件的最后一行,如果没有最后的回车换行符,读取函数会报“ 到达文件结尾”的错误,因为那一行是不完整的。在文件末尾加上回车换行,或者忽略该错误都行。
温馨提示:答案为网友推荐,仅供参考
相似回答