Рандомайз из XLS

bartenev

Client
Регистрация
15.01.2015
Сообщения
43
Благодарностей
8
Баллы
8
Столкнулся с такой задачей:
Требуется из файла Excel брать строчки в рандомном порядке...
Удалять из файла нельзя - т.к. в соседние столбцы в эти строки пишутся данные...
 

APXOHT

Client
Регистрация
27.12.2013
Сообщения
881
Благодарностей
189
Баллы
43
вы про ячейки или про строки?
 

bartenev

Client
Регистрация
15.01.2015
Сообщения
43
Благодарностей
8
Баллы
8
мне нужны номера всех строк , но в рандомном порядке :-)
 

APXOHT

Client
Регистрация
27.12.2013
Сообщения
881
Благодарностей
189
Баллы
43
делайте запись в олд. если у вас там не мегатонны данных обрабатываться будет быстро и не заметно.

получаете кол строк
от нуля до кол строк рандом
берете значение рандома
сверяете с олд
как только кол строк из списка равно кол строк в олде - стоп.

По человечески кодом не умею, но иногда чем ждать совета проще костыль наклепать :-). Ну, а так наверное как то кодом можно...
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Да вообще так то глупо покупать зеннопостер и клянчить сниппеты на форуме, если вы сами не умеете кодить.
Зеннопостер, это в первую очередь софт для НЕ программистов, а следовательно "на кубиках" можно реализовать все что нужно
 

bartenev

Client
Регистрация
15.01.2015
Сообщения
43
Благодарностей
8
Баллы
8
Всем спасибо за помощь и отзывы - сделал так :
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
ой ой ой что то я не понял...
получаем количество строк в таблице 1...
берем строку из таблицы один
записываем её обратно))))
увеличиваем счетчик
сохраняем в фаил таблицу 1)))

Раз уж вы сохраняете таблицу 1 потом в фаил, значит она у вас не привязана жестко, и поэтому могу предложить такой вариант шаблона
http://joxi.ru/DBA0X1yFwlaJAy
 

bartenev

Client
Регистрация
15.01.2015
Сообщения
43
Благодарностей
8
Баллы
8
не понимаю над чем насмешки?
давай попробую тебе расшифровать:
Взять строку : это взять СЛУЧАЙНУЮ строку из файла, поместить в переменные, удалить строку.
Добавить строку : Добавить в конец новую строку, из тех переменных которые брали.
и так делаем столько - сколько строк в файле.....
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
насмешка над тем что из таблицы 1 берется строка и в неё же записывается.
а еще вы оперируете понятием длинны таблицы, я сейчас поясню
Допустим у вас таблица из трех строк
вы берете первую строку, и записываете её на третье место
потом вы берете вторую строку(которая была только что третьей) и записываете её на третье место
потом вы берете третью строку, которая только что и двигали и снова её двигаете.

если же брать случайную строку - то понятие цикла длинной в таблицу мне не очень понятно

Формально ваша задача звучит как перемешать строки?
 

bartenev

Client
Регистрация
15.01.2015
Сообщения
43
Благодарностей
8
Баллы
8
Формально ваша задача звучит как перемешать строки?
изначально задача была брать рандомно ВСЕ строки ...,
но алгоритм , где в начале строки перемешиваются , а затем берутся по порядку меня вполне устраивает....
p.s. данные у меня будут от 20 до 50 строк - так что перемешаются неплохо ....
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
я это к чему - если достаточно рандома - то есть же случайное взятие строки....
но сразу передупрежу, что случайное - подразумевает вероятность дублирования
 

bartenev

Client
Регистрация
15.01.2015
Сообщения
43
Благодарностей
8
Баллы
8
оно не только дублирование подразумевает, а еще то что некоторые строки не возьмутся........
 
  • Спасибо
Реакции: Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
оно не только дублирование подразумевает, а еще то что некоторые строки не возьмутся........
Совершенно согласен с Bartenev. В програме явно недостаёт функционал перемешивания строк. "Взять случайную строку" не только не решает задачу, но, часто приводит к дублированию, а также к тому, что многие строки вообще никогда не будут взяты. Можно, конечно, использовать костыли, но, слишком много приходится делать костылями, а не прямым функционалом. Сейчас понадобилось тоже нечто подобное, и понял, что решений нету
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Измените формат файла на .csv и границы возможностей увеличатся.
 
Последнее редактирование:

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)