| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1500 人关注过本帖
标题:如何实现从文本文件结尾开始逐行读取数据
只看楼主 加入收藏
haoduoyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2021-11-24
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:7 
如何实现从文本文件结尾开始逐行读取数据
文本文件数据是按时间排序的csv文件,现在是用APPEND FROM,再加上条件判断。
其实有用的数据都在最后几行。
搜索更多相关主题的帖子: 逐行 FROM 数据 文本文件 读取 
2021-12-26 09:20
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:7 
文本文件在那

坚守VFP最后的阵地
2021-12-26 10:59
haoduoyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2021-11-24
收藏
得分:0 
sh600009.rar (31.85 KB)

这个是样本
2021-12-26 11:57
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
CSV格式文件实际上就是一个标准格式的文本文件,只是扩展名不是TXT而已,除了第一行标题名(也就是VFP中所说的字段名),可以用ALINES()解析文本文件内容。下面是VFP9代码
lcStr = FILETOSTR("C:\Users\Administrator\Desktop\sh600009\sh600009.csv")
ALINES(laStr, lcStr, CHR(13) + CHR(10))
LIST MEMORY LIKE laStr

看下显示的结果就知道如何获取自己所需的内容了

坚守VFP最后的阵地
2021-12-26 13:01
haoduoyu
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2021-11-24
收藏
得分:0 
我现在使用append from 加条件。以为从最后往前面逐行读取可以更快速一点。这样把整个文件读进来,在逐行处理估计也不会更快把。
2021-12-26 21:22
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用haoduoyu在2021-12-26 21:22:16的发言:

我现在使用append from 加条件。以为从最后往前面逐行读取可以更快速一点。这样把整个文件读进来,在逐行处理估计也不会更快把。

你不试怎么会知道速度不快。

坚守VFP最后的阵地
2021-12-26 22:26
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:7 
如果文件大小没有超过数组的限制,用数组来处理应该较快
2021-12-27 08:31
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:7 
我处理过类似的问题,大致场景是这样,
流水线上的机器会把流水状态,写入到存储上,存储格式是一个txt.
每次写入时,会追加在txt最后,格式是:时间戳 ... 内容 ... + 回车符
存储设备是一个网络硬盘,支持远程读取.
工作人员每周三,启动程序,通过特定端口读取存储上TXT的内容.
每次程序在读取时,实际只需要最后的内容,(确切的说,是只取上周三到本周二之间的内容),因为显然前面的已经上次读取过了.犯不着浪费效率重复去读取.

实施过程是这样(这里只讲过程,代码记不清楚了)
1,打开txt文件.
2,移动指针到文件尾.
3,向上取一行(当前位置向上取,直到遇到回车符止)
4,判断取到的一行中,时间戳是不是在 上周三到本周二之间?
  如果是,装入数组,继续向上取.
  如果不是,终止向上读取,关闭文件.把数组内容装入dbf.
记得用到了fopen() ,fclose() ,FGETS() 等函数,自己去查一下帮助文件.
2021-12-27 13:38
快速回复:如何实现从文本文件结尾开始逐行读取数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033146 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved