Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

25 Ноябрь 2017, 08:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: База данных с пропущенными символами в названиях  (Прочитано 769 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vitaliian
Новичок
*
Offline Offline

Сообщений: 22


« Стартовое сообщение: 27 Август 2017, 19:19 »

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

* словарь.ods (444.8 Кб - загружено 3 раз.)
* gostinitsy_rf.ods (1335.16 Кб - загружено 5 раз.)
« Последнее редактирование: 27 Август 2017, 19:21 от vitaliian » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 359


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 27 Август 2017, 19:24 »

Что-то у тебя и со словарём не то... Ты его нормально читаешь? А то у меня вместо "я" почему-то "клоп", а вместо "ё" - "Є"
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
vitaliian
Новичок
*
Offline Offline

Сообщений: 22


« Ответ #2: 27 Август 2017, 19:39 »

ссори, глюки кодировки... этот вроде норм.

* словарь (1).ods (445.25 Кб - загружено 5 раз.)
« Последнее редактирование: 27 Август 2017, 19:51 от vitaliian » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 359


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 27 Август 2017, 20:09 »

Да нет, он - даже исправленный - здесь ничем не поможет... Улицу "Сов#тск#й Ар#ии" в таком словаре искать нет смысла... Или, скажем, "fac#boo#.com"...
А скрапить всё в интернете - обломно?

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

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
vitaliian
Новичок
*
Offline Offline

Сообщений: 22


« Ответ #4: 27 Август 2017, 20:40 »

пока что я разбил все слова по столбцам, заменил решетку на регулярку " [а-я] " (без кавычек)

по словарю ищет более менее норм (при условии что это слово есть в словаре),

Подскажите как в регулярке указать, чтобы в поиске подставлял только одну букву, вариант " [а-я]{1} " не работает...
« Последнее редактирование: 27 Август 2017, 20:43 от vitaliian » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 359


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #5: 27 Август 2017, 20:44 »

А вместо [а-я] обычную точку не пробовал?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
vitaliian
Новичок
*
Offline Offline

Сообщений: 22


« Ответ #6: 27 Август 2017, 20:52 »

А вместо [а-я] обычную точку не пробовал?

тот же эффект .ато. ищет "батог батожок батожьё батолит батометр батон батончик батопорт"
а нужно чтобы находил только "батог" и "батон" то есть подставлял один символ вместо точки или моего [а-я]

нашёл (может кому пригодится) ^[а-я]{1} ато [а-я]{1}$  теперь регулярка находит такие слова: затор катод каток, подставляя по одной букве справа и слева.
« Последнее редактирование: 27 Август 2017, 21:01 от vitaliian » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 359


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #7: 27 Август 2017, 21:05 »

Ну, ^.ато.$ найдёт те же слова...

Ты лучше скажи, что собираешься с телефонами-адресами делать? Без этих данных база - не база... Адреса, допустим, кое-где угадать можно. А что с телефонами придумал?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
vitaliian
Новичок
*
Offline Offline

Сообщений: 22


« Ответ #8: 27 Август 2017, 21:34 »


Ты лучше скажи, что собираешься с телефонами-адресами делать? Без этих данных база - не база... Адреса, допустим, кое-где угадать можно. А что с телефонами придумал?

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

Ваш вариант лучше слово с 2мя пропусками ^Сев.рна.$ отлично находится
« Последнее редактирование: 27 Август 2017, 21:43 от vitaliian » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 359


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #9: 27 Август 2017, 21:40 »

для тех кто осваивает calc как программу для обработки текста
Мой мир больше не будет прежним... Ты собираешься вручную исправить весь этот мусор только для того, чтобы прокачать навыки работы с текстовыми возможностями Calc?!!
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
vitaliian
Новичок
*
Offline Offline

Сообщений: 22


« Ответ #10: 27 Август 2017, 21:46 »

Цитата:
Мой мир больше не будет прежним... Ты собираешься вручную исправить весь этот мусор только для того, чтобы прокачать навыки работы с текстовыми возможностями Calc?!!

Сам по себе этот текст мне нафик не нужен, нужна формула, способная его причесать. Я собираюсь написать формулу которая к каждому слову с пропуском  предложит вариант на замену. Слова для которых в словаре не найдётся вариантов будут удалены, как бесполезные. Пока что находим ~70-80% но словарь конечно странный.
« Последнее редактирование: 27 Август 2017, 21:49 от vitaliian » Записан
kompilainenn
Ветеран
*****
Offline Offline

Сообщений: 2 111



« Ответ #11: 27 Август 2017, 21:50 »

Вы уверены, что Calc - это лучшее решение для таких задач?
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 359


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #12: 27 Август 2017, 21:51 »

Не макрос, именно формулу?
Похожий макрос где-то здесь на форуме был, там тоже что-то с населенными пунктами было... О! Нашёл...
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 359


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #13: 27 Август 2017, 21:59 »

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

* gostinitsy_rf_разделенные.ods (773.46 Кб - загружено 2 раз.)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
vitaliian
Новичок
*
Offline Offline

Сообщений: 22


« Ответ #14: 27 Август 2017, 22:05 »

Не макрос, именно формулу?
Похожий макрос где-то здесь на форуме был, там тоже что-то с населенными пунктами было... О! Нашёл...

Я тут кажется встречал формулу, которая сравнивает 2 столбца, на предмет совпадений, остаётся в нее включить регулярку. Поиском с регулярками пользовался, а формулами нет. Макросы не люблю с детства, наверное какой то комплекс.
Записан
Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!