标题:有没有高效的读.CSV文件的方法?
只看楼主
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
结帖率:94.74%
 问题点数:0 回复次数:5 
有没有高效的读.CSV文件的方法?
看到几个地方都是用下面的方法读取.CSV文件中的数据,每个TIMER事件都将文件过滤一遍至文件末尾,文件有一万多行。效率很低。

有没有从文件末尾往前读数据的方法?或者根据文件的大小变化触发事件,并读取增加的数据?

Open cs For Input Access Read As #fr
    Do While Not EOF(fr)
        Line Input #fr, j
        If InStr(1, j, ";") > 0 Then

。。。。。。。。。。。。。。。。。

搜索更多相关主题的帖子: CSV 文件 
2010-05-22 00:01
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
得分:0 
转换成随机方式或二进制方式访问.还可以放到数据库中去.
2010-05-28 23:51
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
得分:0 
我已学会了指针,速度极快,CPU占用率从近60%一下降到了3以下。
Open cs For Random As #10 Len = Len(MyRecord)
Seek #10, LOF(10) / Len(MyRecord)            ''''''''''''''指针移至最后一行
Get #10, , MyRecord
Close #10
上面这段代码在网上搜很久也没找到,不过得到了提示琢磨一下就写出了。
爽!!!!!
有些成功的感觉
拿来给大家分享一下
2010-06-18 23:52
VB精英论坛
Rank: 2
来 自:深圳
等 级:论坛游民
帖 子:8
专家分:17
注 册:2010-5-12
得分:0 
可以用RichTextBox直接Load进来吗

[url=http://uu3.]VB精英论坛[/url]
2010-06-21 15:17
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
我已学会了指针,速度极快,CPU占用率从近60%一下降到了3以下。
Open cs For Random As #10 Len = Len(MyRecord)
Seek #10, LOF(10) / Len(MyRecord)            ''''''''''''''指针移至最后一行
Get #10, , MyRecord
Close #10
上面这段代码在网上搜很久也没找到,不过得到了提示琢磨一下就写出了。
爽!!!!!
有些成功的感觉
拿来给大家分享一下

这段代码,要求文件使用 随机文件 方式存储,要求每行的长度完成一样,
要求每行结束用结束符结束,而固定长度.
一句话,对文件格式要求很严,一般情况下是不适用于 csv 文件.

当然,最灵活读取文件的方法 使用 二进制读,以及 它的变化,随机文件.
这二种读取方法的区别在于.
随机文件,按 Len = 把文件划分为若干个行,然后可以挑行读或写.
而二进制文件,则是 len=1 ,其它与随机文件相同.

你的CSV文件,并不严格符合 随机文件的格式,你使用随机文件的读取方法,可能在多数情况下正确,但如果中途某一行有字符数变化,那么将导致整个数据读取错误.


授人于鱼,不如授人于渔
早已停用QQ了
2010-06-21 15:26
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
得分:0 
版主讲的极是,不过用之前我已注意到了这个问题,对数据采集的程序作了格式化,使得每行数据字符数完全一样,并且在画图之前用FORMLOAD对数据进行了初始化,程序一运行就看着很完善,曲线很平滑。觉得VB太好入门了,现在想将这些代码编成VC,来琢磨一下,太难了,几年间听过孙鑫的光盘两遍,越听越难。主要是没有实际可以学习的实例练习。
我格式后的数据如下:
多谢你的指点,现在网络就是图书馆、网络就是老师。

1276855318;1.23900000
1276855327;1.23910000
1276855346;1.23920000
1276855349;1.23930000
2010-06-21 22:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-307673-1-1.html




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

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