关于FileReadLine文件读取速度递减的问题 求解决办法【已解决】
本帖最后由 大叔 于 2015-7-5 15:20 编辑$a=0
While 1
$a+=1
FileReadLine("1.txt", $a)
If @error Then ExitLoop
WEnd
只是个例子按行读取数据我的数据大概有10万多行结果处理了很久都没好,后来我加了TrayTip
让他每分钟报一次条数发现 衰减很大
8000
13200
17100
20300
23000
25600
27800
29900
第一分钟能读取8000多行。2分钟5000多行。到第八分钟的时候已经只能每分钟读取1000多条了。再往后衰减到一分钟只能读取几百条 我这数据读了一个多小时都没读完,我想问问高手。 我用FileReadLine 读取第9万条数据是不是他需要把前面8999行数据都读过之后才能获取?除了拆分文件还有没有别的办法可以更快的读取数据 从性能的角度来看, 一行行读取是一个坏主意, 此时"行号"参数是由一逐行递增.
这将迫使 AutoIt 从开始重读该文件, 直至达到指定的行. 本帖最后由 大叔 于 2015-7-3 15:51 编辑
从性能的角度来看, 一行行读取是一个坏主意, 此时"行号"参数是由一逐行递增.
这将迫使 AutoIt 从开始重读该 ...
131738 发表于 2015-7-3 14:07 http://www.autoitx.com/images/common/back.gif
请问 请问对这样大量数据的读取有什么好办法么。 求指教 我仓建了内存盘。 尝试把数据放在内存盘里读取希望他能增加点速度结果区别不大。 后期依旧衰减的很厉害~ 若没有指定行号, 则将自动读取"下一行".
如果打开的文件较大, 读取会比使用文件句柄要慢得多.
没读过你那大的文件, 只是帮助文档如是说!
试试不使用行号参数...... "1.txt" 该参数要使用打开的句柄,而不要使用文件路径 FileReadLine示例/演示
;要打开的文件
Local $file = FileOpen("1.txt", 0)
; 检查打开的文件是否可读
If $file = -1 Then
MsgBox(4096, "错误", "不能打开文件.")
Exit
EndIf
; 每次读取一行文本,直到文件结束.
While 1
Local $line = FileReadLine($file)
If @error = -1 Then ExitLoop
MsgBox(4096, "读取的行:", $line)
WEnd
FileClose($file)
若没有指定行号, 则将自动读取"下一行".
如果打开的文件较大, 读取会比使用文件句柄要慢得多.
没读过你 ...
131738 发表于 2015-7-3 17:51 http://www.autoitx.com/images/common/back.gif
万分感谢131738 元老。 不指定行号果断好使。10万多条数据 处理不到两分钟
同时也感谢其它几位热心朋友爱死你们了 找高手,用正则更是飞快吧
页:
[1]