txt文件的内容是这样的情况,数据很多(文本有60多兆),中间删了不少,挑了比较说明问题的部分:
1 0.0141927 1 1 1 0 1 61 1
1 0.0203083 8 10 1 0 11 65 1
1 10.2855065 7 111 9 10 149 63 4
1 10.2856590 8 3 2 0 21 63 1
1 10.8628565 7 3 1 0 8 64 1
1 11.0603703 8 2 9 10 59 72 1
1 100.9921020 2 1 2 0 14 63 1
1 101.4079153 8 2 1 0 5 64 1
1 101.8000060 1 2 1 0 3 63 1
1 102.9566797 8 3 3 0 43 61 1
1 103.0686740 7 1 1 0 1 61 1
主要要求是根据第三列的数据,把相同数据的行提取出来(第三列是1的行提取出来放在一起,直到是8的行也同样处理完).因为第二列数据字符大小有变化,用SPLIT语句空格分割后,第三列数据在第二列数据为百以上时是第12个数据,十以上是第13个数据,十以下时是第14个数据
我的程序是这样:
Private Sub Command1_Click()
wenjian = "c:\110.txt"For i = 1 To 8 '从一到八分别提取
Open wenjian For Input As 1
Do While Not EOF(1)
Line Input #1, shujv
b = Split(shujv, " ") '按空格分割 If b(11) = "" Then '这一部分是找第三列数据
If b(12) = "" Then
DUISHU = CDbl(b(13))
Else
DUISHU = CDbl(b(12))
End If
Else
DUISHU = CDbl(b(11))
End If
If DUISHU = i Then '判断
duchu = duchu + shujv + vbCrLf '提取数据
End If
Loop
Close #1
Next
Open wenjian + ".txt" For Output As 2
Write #2, duchu '写入数据
Close #2
MsgBox "OK" '结束提示
End Sub
程序本身没有基本毛病,可以用,但处理文件速度太慢,也极为耗费资源.最主要是时间,整理一个6M的TXT一个小时都没弄完.还有一个60兆的文件等着呢...
我能力有限,请高手来帮忙修改一下,多谢多谢.
1 0.0141927 1 1 1 0 1 61 1
1 0.0203083 8 10 1 0 11 65 1
1 10.2855065 7 111 9 10 149 63 4
1 10.2856590 8 3 2 0 21 63 1
1 10.8628565 7 3 1 0 8 64 1
1 11.0603703 8 2 9 10 59 72 1
1 100.9921020 2 1 2 0 14 63 1
1 101.4079153 8 2 1 0 5 64 1
1 101.8000060 1 2 1 0 3 63 1
1 102.9566797 8 3 3 0 43 61 1
1 103.0686740 7 1 1 0 1 61 1
主要要求是根据第三列的数据,把相同数据的行提取出来(第三列是1的行提取出来放在一起,直到是8的行也同样处理完).因为第二列数据字符大小有变化,用SPLIT语句空格分割后,第三列数据在第二列数据为百以上时是第12个数据,十以上是第13个数据,十以下时是第14个数据
我的程序是这样:
Private Sub Command1_Click()
wenjian = "c:\110.txt"For i = 1 To 8 '从一到八分别提取
Open wenjian For Input As 1
Do While Not EOF(1)
Line Input #1, shujv
b = Split(shujv, " ") '按空格分割 If b(11) = "" Then '这一部分是找第三列数据
If b(12) = "" Then
DUISHU = CDbl(b(13))
Else
DUISHU = CDbl(b(12))
End If
Else
DUISHU = CDbl(b(11))
End If
If DUISHU = i Then '判断
duchu = duchu + shujv + vbCrLf '提取数据
End If
Loop
Close #1
Next
Open wenjian + ".txt" For Output As 2
Write #2, duchu '写入数据
Close #2
MsgBox "OK" '结束提示
End Sub
程序本身没有基本毛病,可以用,但处理文件速度太慢,也极为耗费资源.最主要是时间,整理一个6M的TXT一个小时都没弄完.还有一个60兆的文件等着呢...
我能力有限,请高手来帮忙修改一下,多谢多谢.
解决方案 »
- 受不了了,老师过来看看吧
- 搞了几天了遇到一个超奇怪的windows 2000下自定义报表打印的问题
- 今天高兴,散分:
- 把控件当做对象引用,打包安装在别的电脑中,程序运行出错
- 关于installshield的问题,很急啊,有谁能帮帮我?解决不了就得……
- ========》怎样驱动步进电机走?《=========100分
- 无法写入ORACLE数据库 急!
- ADODB COMMAND 对象问题
- 怎么实现把文本文件读入文本框?象notepad一样
- 老问题,请问:怎样让窗口最小化时在Tray出现,在Taskbar消失!
- 如何利用api向其他窗口(程序)发送键盘消息?
- 疯了!控件无法产生OCA文件??????????
Private Sub Command1_Click()
wenjian = Text1.Text
Open wenjian For Input As 1
Do While Not EOF(1)
Line Input #1, shujv
b = Split(shujv, " ")
' a = UBound(b)
If b(11) = "" Then
If b(12) = "" Then
DUISHU = CDbl(b(13))
Else
DUISHU = CDbl(b(12))
End If
Else
DUISHU = CDbl(b(11))
End If
duchu(DUISHU) = duchu(DUISHU) + shujv + vbCrLf Loop
Close #1
For i = 1 To 8
j = Str(i)
Open wenjian + "-" + j + ".txt" For Output As 2
Write #2, duchu(i)
Close #2
Next
MsgBox "OK"
End Sub简单点,我将处理的结果分成了八个TXT文件,程序算1M以下的速度确实比以前快了,因为读文件没有重复.不过算大的时候,我用任务管理器发现程序总是未响应.还是请大家多多指点