|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Коллеги! У меня проблема не могу разрулить обработку данных. Есть текстовый файл структурированный. Файл могу распарсить и превести к массиву данных: №;К1 ;К2 1;А ;Б 0; ;В 2;Г ;Д 3;Е ;Ё 0; ;Ж Нужно обработать массив и на выходе получить следующее: №;К1 ;К2 1;А ;БВ 2;Г ;Д 3;Е ;ЁЖ Второй день бьюсь. Помогите!!! Всё это реализуется на VBA. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2014, 22:20 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Сам исходный файл можно увидеть? И/или файл с результатом. А то не совсем понятно - что за "массив" вы имеете в виду. Или услышать более подробный алгоритм получения результата (особенно интересует то, что вы подразумеваете под словом "массив" :). Или, раз ЭТО - для VBA, то сообщите хотя бы, в каком из приложений Офиса вы собираетесь это делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2014, 22:28 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
AndreTM, Реализовую в VBA MS Access. Таблица на входе: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Таблица на выходе Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2014, 22:45 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Так, теперь уже таблица. Так что же надо обрабатывать, массив, текстовый файл или таблицу? И, если уж хотите наглядно оформить, загляните сюда ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2014, 22:47 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Если данные в таблицах, то почему бы не сделать SQL-запросом? Правда тогда другой вопрос возникает - по какому полю идет сортировка. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2014, 22:49 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Да таблица, но она в тектовом файле, по итогам обработки текстовых файлов могу получить структуру как уже описывал: Поле 1Поле2Поле31АААБББ0CCC 2EEEKKK3 JJJLLL0UUU4OOOTTT0QQQ в виде массива, рекордсета. После чего мне нужно получить таблицу в таком виде: Поле 1Поле2Поле31АААCCCБББ2EEEKKK3JJJUUULLL4OOOTTTQQQ ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2014, 23:00 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Shocker.ProЕсли данные в таблицах, то почему бы не сделать SQL-запросом? Правда тогда другой вопрос возникает - по какому полю идет сортировка. Так в том то и дело что поля "Поле 2" и "Поле 3" там где стоит нолик в "Поле 1" это продолжение значения предыдущего поля (такое вот дурацкое форматирование) Поле 1Поле2Поле3 Примечание1АААБББ0CCCЗначение "ССС" это продолжение значения из предыдущей строки "ААА"2EEEKKK3JJJLLL0UUUЗначение "UUU" это продолжение значения из предыдущей строки "JJJ"4OOOTTT0QQQЗначение "QQQ" это продолжение значения из предыдущей строки "TTT" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2014, 23:10 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Как массив эти данныеобработать проще, нежели даже написать запрос. Хотя правильно распарсить текст было бы ещё проще :) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
И да, можно было бы "в процессе" создавать новый массив с данными, но зачем? Проще - выгрузить массив в таблицу и удалить из неё строки с 0 в первом поле... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2014, 00:07 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
AndreTM Код: vbnet 1.
if a(i,0)=0 ... конечно же ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2014, 00:12 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
AndreTMКак массив эти данныеобработать проще, нежели даже написать запрос. Хотя правильно распарсить текст было бы ещё проще :) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
И да, можно было бы "в процессе" создавать новый массив с данными, но зачем? Проще - выгрузить массив в таблицу и удалить из неё строки с 0 в первом поле... Согласен. Распарсить правильно было бы проще. Но я не могу поянть как в процессе парсинга объеденять текщее значение поля с предыдущим? Допустим, что этот массив у меня в таблице. Тогда снова вопрос как обработать таблицу с помощью запроса чтобы объеденять текщее значение поля с предыдущим? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2014, 00:18 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Причем здесь "таблица"? Я же говорю - распарсить ТЕКСТ. В процессе чтения исходного текстового файла . Или вы данные из файла тупо открываете (импортируете встроенными средствами) прямо как таблицу в базе Access'а? Модет, стоит поменять что-то в алгоритме первичного импорта, вместо того, чтобы мужественно бороться с последствиями? Хотя... чует моя пятая точка, что даже под словом "парсинг" мы с вами понимаем разные вещи, что уж далее... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2014, 00:29 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
AndreTMПричем здесь "таблица"? Я же говорю - распарсить ТЕКСТ. В процессе чтения исходного текстового файла . Или вы данные из файла тупо открываете (импортируете встроенными средствами) прямо как таблицу в базе Access'а? Модет, стоит поменять что-то в алгоритме первичного импорта, вместо того, чтобы мужественно бороться с последствиями? Хотя... чует моя пятая точка, что даже под словом "парсинг" мы с вами понимаем разные вещи, что уж далее... :) Ок. Согласен. Не внятно излагаю. Предлагаю обсудить парсинг. Так текстовый файл и выглядит в виде таблицы -- это определённого рода отчёт в котором кроме данных представленных в виде таблицы с переносами по некоторым полям. Что я делаю. Я открываю файл с помощью Scripting.FileSystemObject и построчно читаю. У меня получается по определным меткам выбирать только табличные данные (так как файл содержит так же и заголовки -- это текстовой отчёт). Обработав файл, у меня на выходе может быть либо массив либо рекордсет. Так вот если есть возможность в момент парсинга получить исходную таблицу -- то это будет просто великолепно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2014, 00:48 |
|
Обработка массива. Нужна помощь.
|
|||
---|---|---|---|
#18+
Если ещё я не надоел. Прилагаю оригинальный файл, который я пытаюсь обрабатывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2014, 01:14 |
|
|
start [/forum/topic.php?fid=60&fpage=38&tid=2156174]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 290ms |
total: | 432ms |
0 / 0 |