![]() |
раздублирование строк
Вложений: 1
Добрый день. извините за беспокойство, но снова требуется помощь. Сейчас вопрос стоит как раздублировать строки:
Вот исходный файл дата, кол-во наблюдений, Var1 01.01.2013 25 30,37 есть дата, есть значение наблюдений и значение переменной (их там будет var1,var2,var3) Нужно раздублировать строки на значение количества наблюдений. Например у нас 25 наблюдений значит 25 дублированных строк дата кол-во наблюдений Var1 01.01.2013 25 30,37 01.01.2013 25 30,37 01.01.2013 25 30,37 01.01.2013 25 30,37 01.01.2013 25 30,37 ... ... 01.01.2013 25 30,37 следующая дата имеет количество наблюдений 2957 значит 2957 строк 02.01.2013 2957 30,37 02.01.2013 2957 30,37 02.01.2013 2957 30,37 02.01.2013 2957 30,37 02.01.2013 2957 30,37 02.01.2013 2957 30,37 02.01.2013 2957 30,37 ... ... 02.01.2013 2957 30,37 и так далее Потом это записать в txt файл, т.к. в итоге должно получиться 2577473 Помогите ,пожалуйста |
golovatov, насколько я понимаю - вы хотите скопировать каждую столько раз, сколько написано в ячейке второго столбца на каждой строчке?
Цитата:
попробуйте такой код, оговорки - во втором столбце должна обязательно стоять цифра (иначе строчка будет пропущена), значение в txt файле разделяются знаком ";", конечный файл сохраняется по адресу "C:/1.txt". Полностью вашу таблицу не прогонял - стало скучно когда txt файл весил около 145мБт. код
Код:
Public Sub xls_to_txt() golovatov, а Вы уверены, что Вам нужно именно это? Проблему этим копированием Вы какую решаете? |
Вложений: 1
Цитата:
Цитата:
а можно сделать ,чтобы сами строчки не двоились, как на рисунке а было просто 01.01.2013;25;30,37 |
а тут видите
01.01.2013;25;30,3701.01.2013;25;30,37. они встолбик должны идти вот так 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 01.01.2013;25;30,37 02.01.2013;2957;30,37 |
в коде замените Chr(13) на точку с запятой в кавычках - чтоб было так же, как в конце строчки на одну выше.
|
Вложений: 1
что-то не помогло, я сделал как Вы сказали
ts.Write Trim(DataCell.Offset(0, 2).Value & ";") но вот результат теперь тут 3333 строки в csv файле, и все значения не в столбиках |
golovatov, до того как вы отредактировали свой пост было непонятно, что вы имеете ввиду.
У меня изначально результат виден столбиком. Поставьте бесплатный продвинутый аналог блокнота AkelPad и откройте через него, используя первоначальный код. |
Да с этим блокнотом все хорошо, но почему штатный блокнот не работает? В любом случае, Вы очень выручили.
|
Только вот он дублирует строки только для одной переменной. у меня их 2
дата.кол-во, var1 и var2 я получаю на выходе дата.кол-во, var1 |
Цитата:
Код
Код:
Public Sub xls_used_to_txt() |
вот теперь верно. хотя он дублирует больше записей
например первое наблюдение должно быть 25 раз .а насчитал 26 строк)) |
Один лишний раз был из-за отсчета с нуля, правильно - с единицы. Поправил оба варианта кода.
|
Время: 09:21. |
Время: 09:21.
© OSzone.net 2001-