Я ищу лучший способ загрузки отформатированных данных в 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 слишком много строк для загрузки. Я могу думать о грубой силе, с помощью которой я смотрю на каждого последующего персонажа и определяю, является ли это пробел или число, но это кажется ужасно неуклюжим.
Мне также интересны указатели о том, как записывать отформатированные данные, но это кажется более простым - просто отформатируйте каждую строку и объедините их, используя &
.