【发布时间】:2009-06-25 13:19:41
【问题描述】:
我正在寻找在 VBA 中加载格式化数据的最佳方式。我花了很长时间试图找到类似 C 或类似 Fortran 的 fscanf 类型函数,但没有成功。
基本上我想从一个文本文件中读取数百万个数字,这些数字放置在许多(100,000 行)行中,每行有 10 个数字(最后一行除外,可能是 1-10 个数字)。数字之间用空格隔开,但我事先并不知道每个字段的宽度(而这个宽度在数据块之间是变化的)。 例如
397143.1 396743.1 396343.1 395943.1 395543.1 395143.1 394743.1 394343.1 393943.1 393543.1
-0.11 -0.10 -0.10 -0.10 -0.10 -0.09 -0.09 -0.09 -0.09 -0.09
0.171 0.165 0.164 0.162 0.158 0.154 0.151 0.145 0.157 0.209
以前我使用过Mid 函数,但在这种情况下我不能,因为我事先不知道每个字段的宽度。此外,在 Excel 工作表中加载的行太多。我可以想到一种蛮力的方式,我查看每个连续的字符并确定它是空格还是数字,但它看起来非常笨拙。
我也对如何编写格式化数据感兴趣,但这似乎更容易——只需格式化每个字符串并使用& 连接它们。
【问题讨论】:
标签: vba formatted-input