Очень-очень-очень медленная "Замена"

Автор krit, 15 октября 2017, 22:46

0 Пользователи и 1 гость просматривают эту тему.

krit

Мне понадобилось заменить "точку" на "запятую" в 250 000 (двести пятидесяти тысячах) значений из отчета (.csv) измерительного прибора. Для Calc это оказалась непосильной задачей - через полчаса "указатель мышки кручу-верчу-отвечать не хочу" мое терпение иссякало и я погасил Calc. Та же операция в обыкновенном "Блокноте" Windows 10 - длилась, ну, минуты две. Что не так с "Заменой" в Libreoffice Calc?

kompilainenn

#1
где-то я такую тему на форуме уже видел, причем недавно совсем.
Хм, провел натурный эксперимент не отходя от кассы, 250000 значений, замена запятой на точку через диалог Ctrl+H, максимум минута прошла и то я сомневаюсь. Либра 6.0 дейли, ОС - Хубунту 17.04

У Вас какая версия офиса?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

krit

Цитата: kompilainenn от 15 октября 2017, 20:52У Вас какая версия офиса?
5.4.2.2 (x64).

Xubuntu есть и у меня. Там тоже в Libreoffice Calc время замены *больше часа*. Ни о каких минутах - как вы рассказываете - и речи не идет.

kompilainenn

#3
файл есть возможность сюда выложить?

ps: проверил на 5.4.2 х86 на виндовс 7. 250000 запятых заменял на точки, 50 секунд.
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

#4
Если на заменяемый диапазон ссылаются 100500 формул - то может меняться долго. Если идет речь о замене десятичного разделителя - лучше его:
а) заменять на первоисточнике
б) заменять при импорте
в) подменять системный на время импорта
г) использовать базы данных, поддерживающие указание не-системного разделителя
д) использовать (готовый) столбец с формулами Calc (это, кстати, основной инструмент в таблицах):

=SUBSTITUTE(A1;",";".") - заменяет 250 тыс. запятых на точки за 2(!) секунды  
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

krit

Цитата: kompilainenn от 15 октября 2017, 22:27файл есть возможность сюда выложить?
Файл к ситуации никакого отношения не имеет. Создать руками столбик с 250 000 значений с разделителем-точкой дело одной минуты. А вот заменить точку на запятую далеко не одной... и у меня все-таки был вопрос о дееспособности "Заменить" в связке Win10 (x64) + LO 5.4.2.2 (x64), а не о каких-то других комбинациях. Может где-то в других местах всё очень хорошо, а вот у меня при замене - виснет и висит долго-долго, хотя я прекрасно помню времена, когда никакой такой фигни в LO не было. Была себе "Замена" как замена.

Цитата: economist от 16 октября 2017, 06:08=SUBSTITUTE(A1;",";".") - заменяет 250 тыс. запятых на точки за 2(!) секунды
Про две секунды это вы загнули, троим не разогнуть.

kompilainenn

Цитата: krit от 16 октября 2017, 12:41Создать руками столбик с 250 000 значений с разделителем-точкой дело одной минуты. А вот заменить точку на запятую далеко не одной...
хм, ну я так и делал в обоих случаях
Цитата: krit от 16 октября 2017, 12:41и у меня все-таки был вопрос о дееспособности "Заменить" в связке Win10 (x64) + LO 5.4.2.2 (x64), а не о каких-то других комбинациях
пишите багу, у меня в вин 7 х86-64 все ок

пришло в голову: у вас в диалоге найти и заменить лишних опций не активировано случаем?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

krit

Цитата: kompilainenn от 16 октября 2017, 12:51у вас в диалоге найти и заменить лишних опций не активировано случаем?
Нет, всё чисто. И, кстати, предложенная товарищем выше _=SUBSTITUTE(A1;",";".")_, не за две, а примерно за 40 секунд справилась с поставленной задачей. А вот "Найти и заменить" безнадежно повисла, опять.

mikekaganski

Цитата: krit от 16 октября 2017, 14:41
Файл к ситуации никакого отношения не имеет. Создать руками столбик с 250 000 значений с разделителем-точкой дело одной минуты. А вот заменить точку на запятую далеко не одной... и у меня все-таки был вопрос о дееспособности "Заменить" в связке Win10 (x64) + LO 5.4.2.2 (x64), а не о каких-то других комбинациях. Может где-то в других местах всё очень хорошо, а вот у меня при замене - виснет и висит долго-долго, хотя я прекрасно помню времена, когда никакой такой фигни в LO не было. Была себе "Замена" как замена.

Ну вот ждал я файл, чтобы проверить у себя... не собираюсь я гадать, "правильный" у меня файл или нет, соответствует он тому, что видит OP или нет. Ну что ж, мне на моей Win10 с LO x64 комфортно.
С уважением,
Михаил Каганский

krit

Цитата: mikekaganski от 16 октября 2017, 13:04вот ждал я файл, чтобы проверить у себя... не собираюсь я гадать
А что так, гордость не позволяет потратить минутку на создание столбика на 250 000 произвольных значений с точкой? Или вам непременно нужно выдвигать какие-то нелепые требования к другим людям?

mikekaganski

#10
Требования???  ;D ;D ;D

Вам уже сказали, что у людей всё работает. Вы считаете, что другие люди тоже должны выделать минутки, а потом вдруг окажется, что какой-то небольшой ньюанс не учтён. Я слишком хорошо знаю, как работает воспроизводимость багов, чтобы тратить минутку на создание файла, что некто считает других обязанными сделать (конечно, это совсем не выдвижение нелепых требований к другим!), вместо того, чтобы тот, кто заинтересован в помощи других, потратил минутку на создание и прикрепление файлика, гарантированно приводящего к проблеме у него.

С другой стороны, я готов потратить минутку на объяснения, в надежде, что оппонент поймёт, что желательно делать, чтобы другие охотнее помогали ему, и в будущем получал более эффективные ответы. Вот такой вот странный у меня альтруизм.

Что касается "минуток", мне не влом, например, потратить довольно немало времени, чтобы правильно оформить сообщение об ошибке, с созданием правильного файла, тестированием и указанием работоспособности на разных версиях, проведение бисекции для выявления причинного изменения... как, например, сегодня утром. Так что нет, дело не в нелепости требований, а в умении правильно задавать вопросы.
С уважением,
Михаил Каганский

rami

Цитата: krit от 16 октября 2017, 12:41Файл к ситуации никакого отношения не имеет. Создать руками столбик с 250 000 значений с разделителем-точкой дело одной минуты.
Так, kompilainenn создал и у него всё работает быстро, но я не уверен, что он создал данные как у вас. Важно посмотреть на ваши данные и узнать подробней как и что вы делаете. Ваши реальные данные нам не нужны, создайте образец минимального размера при котором наблюдается проблема (например, 50000 значений обрабатывает быстро, а 70000 — тормозит).

kompilainenn

Цитата: rami от 16 октября 2017, 14:21Так, kompilainenn создал и у него всё работает быстро, но я не уверен, что он создал данные как у вас
какие способы быстро заполнить 250000 ячеек данными ты знаешь? Я использовал функционал Лист-Заполнить-Случайные числа
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

Цитата: krit от 16 октября 2017, 12:41Цитата: economist от Сегодня в 06:08
=SUBSTITUTE(A1;",";".") - заменяет 250 тыс. запятых на точки за 2(!) секунды
Про две секунды это вы загнули, троим не разогнуть.

krit - я написал про две секунды после тестирования. Создал файл, в столбце А сделал 250 тыс. разных значений. За 2 секунды у меня формула из ячейки B1 скопировалась (автозаполнением) - на 250 тыс.  строк (B1:B250000) и посчиталась.
Компьютер i5-4660, 3.2 GHz, 8 GB RAM, HDD.  

Еще раз повторюсь: табличные процессоры предназначены для расчетов и иных массовых преобразований больших диапазонов (таблиц) и значений ячеек - посредством ФОРМУЛ с ФУНКЦИЯМИ. Ручная правка, замена, макросы итп - уже потом, после основного приема.  

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

rami

Цитата: kompilainenn от 16 октября 2017, 14:33какие способы быстро заполнить 250000 ячеек данными ты знаешь? Я использовал функционал Лист-Заполнить-Случайные числа
Я не об этом, два человека услышали слово "дом", первый — африканец из сельской местности представил себе хижину крытую пальмовыми листьями, а второй — житель Нью-Йорка представил стоэтажный небоскрёб, и то и другое "дом". Я не сомневаюсь, что ты правильно работаешь в офисе, меня интересует, какие особенности есть в документе у krit, вряд ли ты это знаешь, иначе смог бы воспроизвести.