火语言两步快速读取大容量 TXT 最后一行

0 阅读2分钟

在日常自动化业务中,经常会遇到上万行数据的大容量 TXT 日志文件,日常需求大多为快速提取文件末尾的最后一行内容。本次分享用火语言纯组件快速取值方案,高效精准获取大文件末尾数据。

一、先搞懂两个最容易搞混的知识点

1、.Count
用于统计数组元素总数,也就是 TXT 一共有多少行,本次读取行数、定位最后一行,需使用该属性。
2、.Length
用于统计单段文本的字符个数,也就是文字长度,不能用来统计行数! 误用 Length 去计算行数,就会直接出现NaN、取值为空的报错。
基础常识:
电脑里所有数组、列表的排序编号,默认都是从 0 开始,并不是我们日常习惯的 1、2、3 计数。
所以想要定位最后一行,通用固定公式:总行数 - 1

二、完整流程

流程从上到下拖拽顺序: 文件读取 → 变量赋值

1、文件读取

参数设置:
要读取的文件:选择本地需要处理的 TXT 文件
文件读取方式:文件内容列表(按行读取文本内容)
输出变量:文本内容
小说明:只有选择按行读取,软件才会把文本拆分成数组列表,后续才能通过索引快速定位、提取指定行。

image.png

2、变量赋值

新建字符串变量:最后一行
参数设置:
变量名称:最后一行;赋值操作:= ;变量值:文本内容[文本内容.Count - 1]
公式简单拆解
文本内容[文本内容.Count - 1]:统计文本所有行数,换算出最后一行的索引位置,直接提取出文件末尾的行数据

  • 文本内容.Count:自动统计出 TXT 文件的总行数
  • -1:适配数组从 0 开始的索引规则,精准定位到最后一行的位置
  • 文本内容[ ]:根据位置索引,快速取出对应行的完整内容

image.png

三、避坑总结

  • 统计文件行数用 .Count,统计文字字数用 .Length,二者切勿混用
  • 数组索引默认从 0 开始,取最后一行用 总数-1

image.png