就是有一TXT文档,里面有6列数,行数很多,几万几十万。 如何用VB提取数据...

发布网友 发布时间:2024-10-29 13:17

我来回答

3个回答

热心网友 时间:2024-10-29 13:14

你没有说明你的文本文件中的所谓“列”是以什么做分割符的,比如空格、逗号还是Tab等。下面的代码是以1个空格作为列分割符的:

dim s() as string, ss() as string, d() as double
dim i as long, j as long
open app.path & "\123.txt" for binary as #1
s=split(input(lof(1),#1),vbcrlf)
close #1
redim d(ubound(s), 5)
for i=0 to ubound(s)
ss=split(s(i)," ")
if ubound(ss)=5 then
for j=0 to 5
d(i,j)=val(ss(j))
next
end if
next

或用下面这个代码可以应付所有的分割符,不过如果遇到有空行的情况可能会出错:

dim d() as double, i as long
open app.path & "\123.txt" for input as #1
i=0
do until eof(1)
redim preserve d(5,i)
input #1, d(0,i), d(1,i), d(2,i), d(3,i), d(4,i), d(5,i)
i=i+1
loop
close #1

d数组就是你要的结果

热心网友 时间:2024-10-29 13:13

那你就定义一个六列数组,然后读TXT,一行行读,读到一行就 split 分为六列

热心网友 时间:2024-10-29 13:14

1. 根据文档中数据的类型,比如 integer 开个变量
假如你有6列,100万行, 数据间用逗号隔开:
dim a(5, 999999)as integer ‘ 0 至5 是6 列, 0 至 999999 是 100万行
2. 打开文件
Open “你的文件路径\文件名" for input as #1
for j=0 to 999999
input #1, a(0, j), a(1, j), a(2, j), a(3, j), a(4, j), a(5, j)
next j
3. a(i, j)的内容就是文件提取数据的数组

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com