|
Считать текстовик в recordset с одним полем
|
|||
---|---|---|---|
#18+
Всем привет Есть у меня решенная на VBA задача: пропарсил текстовый файл, часть инфы выгружаю на лист Excel, часть в другой текстовый файл - целевой. Текстовая часть задачи решена путем загрузки Open-ом исходного текстовика в массив: один элемент массива - одна строка. Далее проход по массиву. Работу с Excel-ем пропускаем. Текстовая часть целевого файла запихивается в переменную типа string с разделителями строк Chr(13) и Print-ом сбрасывается в целевой текстовик Программа работает, но медленно: до 8.5 часов на i3 с 8 Гб мозгов - в исходном текстовике до 1.5 млн. строк. У юзеров с железом намного мрачнее Предполагаю, что если заменить массив и строку на recordset-ы, будет работать быстрее. Во всяком случае, хочу поставить эксперимент. Но не знаю, как одной командой считать текстовик без заголовков в recordset Структура исходного текстовика замысловатая, с тройными заголовками, данные в строках перекрываются по вертикали (фрагмент исходного текстовика прилагаю). Поэтому задача решается путем тяжелого парсигна. Для этого хочу считать текстовик в recordset с одним полем и анализировать записи исходного recordset-а как элементы массива, а целевой recordset заполнить записями для целевого текстовика Полезной информации в исходном текстовике до 25% Подскажите пожалуйста, как на VBA одной командой: 1. Считать текстовик в recordset с одним полем 2. Сбросить recordset в текстовик ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 09:30 |
|
Считать текстовик в recordset с одним полем
|
|||
---|---|---|---|
#18+
Sema9Текстовая часть задачи решена путем загрузки Open-ом исходного текстовика в массив: один элемент массива - одна строка.Думаю, что узкое место тут - попытка загрузить весь огромный объем информации одновременно в память. Рекордсет тут мало поможет. Почему бы не обрабатывать файл построчно (или порциями), постепенно читая его с диска и не пытаясь запихнуть в память целиком? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 09:36 |
|
Считать текстовик в recordset с одним полем
|
|||
---|---|---|---|
#18+
http://www.sql.ru/forum/614903/recordset-iz-tekstovogo-fayla http://www.sql.ru/forum/523223/recordset-v-tekstovyy-fayl ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2018, 09:38 |
|
|
start [/forum/topic.php?fid=60&msg=39705415&tid=2155008]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 478ms |
0 / 0 |