Форум программистов, компьютерный форум, киберфорум
MS Office Word
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/48: Рейтинг темы: голосов - 48, средняя оценка - 4.92
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
1

Оптимизация и автоматизация работы с большим количеством данных

01.08.2012, 23:03. Показов 9787. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу прощения за краткость в названии темы, но коротко ее не опишешь.
Дело вот в чем.
Мой отец - заядлый коллекционер, и у него огромная коллекция конвертов, каталог которой он создал на компьютере. Последний создавался в начале 2000-х годов, когда о компьютере мы почти ничего не знали. Каталог представляет из себя одну огромную таблицу в ворде на 650 страниц, размер файла 8,5 Мб. В таблице 6 столбцов, первый из которых - номер конверта по порядку. Но и тут не всё так просто. Есть подразделы (годы), таблица на их названиях не прерывается. В каждом годе свои номера, кроме того, есть такие номера как 173а, 173б и т.д.
Так вот собственно о задаче. Периодически в этой таблице появляется новая строчка, что приводит к необходимости вручную менять все нижеследующие номера в данном подразделе, иногда их сотни. Можно ли как-то автоматизировать процесс?
Кроме того, весь этот документ немилосердно тормозит и глючит даже на новом компьютере. Можно ли как-то оптимизировать работу с этой таблицей? Например, перенести ее как-то в эксель? Я думаю, что там было бы проще и номера менять автоматически.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.08.2012, 23:03
Ответы с готовыми решениями:

Оптимизация отчета с большим количеством формул СУММПРОИЗВ
Уважаемые эксперты, прошу помочь в решении следующей задачи. Дано: 1. Дерево отчета неизменно и содержит порядка 300...

Оптимизация производительности проекта с большим количеством объектов Image
И снова здравствуйте =) У меня на одной из форм очень много Image. И при нажатии на соответствующую кнопку, что бы перейти к данной форме,...

Нужны идеи по реализации работы с большим количеством инструкций
Здравствуйте! Сотрудники моего предприятия занимаются тем, что оказывают консультацию пользователям технического и технологического...

18
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28047 / 15782 / 983
Регистрация: 15.09.2009
Сообщений: 67,753
Записей в блоге: 78
01.08.2012, 23:26 2
Цитата Сообщение от shadow_405 Посмотреть сообщение
Например, перенести ее как-то в эксель?
а в чем проблема? перенести то?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12148 / 5001 / 801
Регистрация: 07.08.2010
Сообщений: 14,733
Записей в блоге: 4
01.08.2012, 23:30 3
эта задача не для ворда

как минимум --excel, легче освоить основы
еще лучше ------аccess, проще поиск

нумерацию можно сделать через 10, легче сделать вставки

не знаю сколько строк на листе(от 30-50)
650л=20000-30000 конвертов
в excel можно каждый год в отдельную таблицу(лист), чтобы вводя данные за 2005 не лопатить все остальные

в access лучше одной таблицей, иметь поле год и неповторяющийся номер(счетчик), вам ведь безразличен номер --вам нужен номер варианта

например
2005,писатель толстой, дата выпуска, тираж......12млн,ном 13125 вар 1
то же самое, но авиа 1млн , ном 13125 вар 2

хотя, что я гадаю....у каждого свои тараканы
1
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
02.08.2012, 00:04  [ТС] 4
Цитата Сообщение от shanemac51 Посмотреть сообщение
еще лучше ------аccess, проще поиск
C аксессом никогда не работал, сначала попробую эксель.

Цитата Сообщение от shanemac51 Посмотреть сообщение
нумерацию можно сделать через 10, легче сделать вставки
Этой идеи вообще не понял, Вы о чем?

Цитата Сообщение от shanemac51 Посмотреть сообщение
в excel можно каждый год в отдельную таблицу(лист), чтобы вводя данные за 2005 не лопатить все остальные
Вот это отличная идея, спасибо. Правда, надоест делать 50 листов, конечно

При переносе в эксель сразу же столкнулся с 2 проблемами:
1. Наверное, это я такой тупой, но в одной таблице никак не выделить текст во всю ширину страницы на ограниченную длину: выделяется сразу вся таблица. Приходится выделять отдельно по столбикам и подразделам, а это 6 столбцов примерно в 50 разделах (причем отнюдь не равных по длине), что дает 300 действий копирования и столько же - вставить. Всё же хотелось бы попроще.
2. Разумеется, объем текста в столбцах различается, поэтому в некоторых из них есть пустые строчки, что в экселе превращается в пустые ячейки, которые, в свою очередь, сдвигают весь столбец. Удалять все эти хаотично расположенные ячейки вручную можно неделями.
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
02.08.2012, 10:30 5
Цитата Сообщение от shadow_405 Посмотреть сообщение
в одной таблице никак не выделить текст во всю ширину страницы на ограниченную длину: выделяется сразу вся таблица
Объединенные ячейки?
Цитата Сообщение от shadow_405 Посмотреть сообщение
Разумеется, объем текста в столбцах различается, поэтому в некоторых из них есть пустые строчки, что в экселе превращается в пустые ячейки, которые, в свою очередь, сдвигают весь столбец.
Известная проблема: знаки перевода строки и абзаца в ячейках Ворда приводят к появлению доп. ячеек в Excel. Решение такое: в Ворде заменить эти символы на уникальный текст (например ^p на @#$, ^l на @#$), скопировать - вставить в Excel, в Ворде сделать отмену, а в Excel заменить @#$ на Ctrl+j.
Цитата Сообщение от shadow_405 Посмотреть сообщение
в excel можно каждый год в отдельную таблицу(лист)... Вот это отличная идея, спасибо
Категорически не согласен! Однородные данные должны храниться в одной таблице. Инече потом будет невозможно сделать выборку по фрагменту названия и т.п.
1
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
02.08.2012, 23:11  [ТС] 6
Цитата Сообщение от Казанский Посмотреть сообщение
Категорически не согласен! Однородные данные должны храниться в одной таблице. Инече потом будет невозможно сделать выборку по фрагменту названия и т.п.
Возможно, тут Вы правы. Сначала посмотрю, как это будет выглядеть одной таблицей.

Цитата Сообщение от Казанский Посмотреть сообщение
Объединенные ячейки?
В вордовском файле таблица идет без разделения строчек, если Вы об этом.

Цитата Сообщение от Казанский Посмотреть сообщение
Известная проблема: знаки перевода строки и абзаца в ячейках Ворда приводят к появлению доп. ячеек в Excel. Решение такое: в Ворде заменить эти символы на уникальный текст (например ^p на @#$, ^l на @#$), скопировать - вставить в Excel, в Ворде сделать отмену, а в Excel заменить @#$ на Ctrl+j.
Да, примерно такого совета и ожидал, но проверить на практике не получилось. В ворде замену сделал, в эксель перенес, но тут замена @#$ на Ctrl+j дала полную ерунду, т.е. везде появились Ctrl+j. Наверное, заменять нужно на что-то другое. У меня установлен Office 2010, если это важно.
Кстати, заодно поинтересуюсь, нормально ли, что в экселе всё скопировалось в 1-ю ячейку по вертикали?
И еще, документ лучше сохранять в новом формате .xlsx?
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
03.08.2012, 01:21 7
Цитата Сообщение от shadow_405 Посмотреть сообщение
в эксель перенес, но тут замена @#$ на Ctrl+j дала полную ерунду, т.е. везде появились Ctrl+j. Наверное, заменять нужно на что-то другое.
Вы вводили Ctrl+j, т.е. 6 символов?!
Ctrl+j означает "удерживая нажатой клавишу Ctrl, нажать клавишу j. При этом в поле ввода ничего не отображается, но символ перевода строки там есть.
Можете потренироваться: введите в ячейку молоко и замените о на Ctrl+j.

Добавлено через 3 минуты
Цитата Сообщение от shadow_405 Посмотреть сообщение
нормально ли, что в экселе всё скопировалось в 1-ю ячейку по вертикали?
Нет, не нормально. Перед вставкой в Экселе не входите в режим редактирования ячейки, а просто выделите ячейку, с которой начнется таблица (обычно А1).
Цитата Сообщение от shadow_405 Посмотреть сообщение
И еще, документ лучше сохранять в новом формате .xlsx?
Дело вкуса.
0
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
03.08.2012, 01:40  [ТС] 8
Цитата Сообщение от Казанский Посмотреть сообщение
Вы вводили Ctrl+j, т.е. 6 символов?!
Виноват, к ночи, видимо, совсем всё плохо пошло
Экселем пользовался до сих пор только для примитивных вычислений и графиков, так что с горячими клавишами в нем не знаком. С заменой всё получилось, но осталось как минимум 3 проблемы:
1. Всё-таки всё копируется в 2 вертикальные ячейки: заголовок таблицы и всё остальное. Чесслово, в редактирование ячейки не лез, открыл новый документ и нажал Ctrl+V. Предполагаю, что это связано с тем, что строчки в вордовской таблице не разделены.
2. С последним так же связана еще одна проблема. Я пока провожу эксперименты на более простом документе, где меньше столбцов и в 10 раз меньше страниц, и операции проходят небыстро. Если копировать разом весь тот документ на 650 страниц, есть подозрение, что всё просто намертво повиснет. Разве что выделять по столбцам...
3. Если делать всё одной таблицей, то как настроить автозамену номеров при добавлении строчки только в рамках данного подраздела, причем с учетом номеров типа 117а, 117б и т.п.?
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
03.08.2012, 05:10 9
Цитата Сообщение от shadow_405 Посмотреть сообщение
как настроить автозамену номеров при добавлении строчки только в рамках данного подраздела, причем с учетом номеров типа 117а, 117б и т.п.?
Что за чудо-таблица! — без разделения строк, с подразделами...

Подшейте сюда пример в документе (*.doc, *.docx) — для опытов.
0
 Аватар для solar_wind
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
03.08.2012, 05:29 10
shadow_405, Если строк подразумевается не больше 20 тыс, тогда самое простое сделать в Excel и пересчитывать VBA скриптом.
Если строк будет больше, то тут либо по листам разбивать либо будут глюки.
Так что в случае количества строк больше 20 тыс, лучше изучайте Access, на нем все у вас будет нормально храниться и работать.
0
6023 / 3217 / 719
Регистрация: 23.11.2010
Сообщений: 10,752
03.08.2012, 20:09 11
А если таблицу преобразовать в текст с разделителем, например | , затем сохранить в .txt. Перенести в Excel и разнести данные по столбцам с разделителем |.
0
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
07.08.2012, 12:24  [ТС] 12
К сожалению, некоторое время был занят, и завтра уеду на несколько дней. Задачи и проблемы я озвучил. Прилагаю фрагмент документа, который надо перенести. Общее количество конвертов, а значит, видимо, и строк - около 12000. Это количество, наверное, будет увеличиваться, но вряд ли превысит 20000, так что эксель подходит с этой точки зрения. Хотелось бы всё же переносить именно в него, поскольку освоить аксесс для меня еще реально, а вот для отца - не уверен. Остаются проблемы, которые я перечислил в предыдущем посте.
Вложения
Тип файла: doc Каталог (фрагмент).doc (66.0 Кб, 26 просмотров)
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
07.08.2012, 14:01 13
М-да. Мрак. Кто бы мог подумать, что в таблице 6 ячеек (не считая заголовка)
Наверно, придется по первой ячейке определять, какой номер строки соответствует очередной записи, и разбивать текст на записи по номеру строки.
0
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
07.08.2012, 15:04  [ТС] 14
Казанский, мрак, конечно, полный Мне даже страшно представить работу технического редактора, поскольку этот каталог уже издан.
Наверное, действительно можно сделать так, как Вы предлагаете, для меня звучит разумно. Но я гн знаю, как это реализовать, как и пересчет с помощью VBA скрипта.
Только надо еще учесть, что ворд почему-то периодически размещал текст в разных столбцах не на одном вертикальном уровне, т.е. части строки были сдвинуты друг относительно друга вверх или вниз, из-за чего по документу хаотически раскиданы "Интервалы перед". Не создаст ли это дополнительных проблем? При переносе в одну ячейку их не возникло.
0
6023 / 3217 / 719
Регистрация: 23.11.2010
Сообщений: 10,752
07.08.2012, 23:46 15
Как вариант: сохранила в .pdf, прогнала через FineReader, сохранила в Excel.
Но учитывая, что у Вас очень большой объем.... При этом не уверена в последних строчках 6-ой ячейки, мне кажется там текст смещается относительно 4-ой ячейки.
Вложения
Тип файла: xls Каталог.xls (40.0 Кб, 14 просмотров)
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12148 / 5001 / 801
Регистрация: 07.08.2010
Сообщений: 14,733
Записей в блоге: 4
08.08.2012, 01:01 16
игра шрифтами и ориентацией(поля минимальные)

шрифт 7 --более менее пригоден
шрифт 9 --терпимо
больше 9 --не лезет в ширину листа


в номере --учтена буква
в дате --полный формат
в цене --номинал 90-х
Вложения
Тип файла: docx 0808конв.docx (27.2 Кб, 11 просмотров)
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12148 / 5001 / 801
Регистрация: 07.08.2010
Сообщений: 14,733
Записей в блоге: 4
08.08.2012, 01:17 17
у вас же поля по 1 и 0,5 см ---как сшивать листы и явно односторонняя печать
0
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
24.08.2012, 23:02  [ТС] 18
Fairuza
Спасибо, идея интересная. Но даже если весь документ удастся так обработать, то это слишком ненадежно. Вероятность сдвигов/опечаток слишком велика, а в таком документе это неприемлемо.

shanemac51
Честно говоря, не понял смысла манипуляций. У меня нет проблем со шрифтами и ориентацией. Мне бы придумать, как перевести это всё в эксель и настроить автозамену номеров отдельно в каждом разделе с учетом букв.

Мне понравилась идея
Цитата Сообщение от Казанский Посмотреть сообщение
Наверно, придется по первой ячейке определять, какой номер строки соответствует очередной записи, и разбивать текст на записи по номеру строки.
Но как ее реализовать?
0
6023 / 3217 / 719
Регистрация: 23.11.2010
Сообщений: 10,752
25.08.2012, 13:40 19
Вероятность опечатки небольшая, потому что текст не со сканера распознается.

А вот то что есть сдвиги, это да, тут надо будет каждый лист перепроверять. Я их заметила только потому, что в конце строки стояла запятая, а если не стояла бы...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.08.2012, 13:40
Помогаю со студенческими работами здесь

Ноутбук для серфинга и работы в интернете с большим количеством вкладок
Нужен ноутбук, недорогой, в первую очередь для работы в интернете с большим количеством вкладок. хотелось бы узнать какие требование в...

Работа с большим количеством данных
Есть форма добавления нового рабочего, примерно 40 полей... Передаются они постом. Первые 10 я описал ручками, ибо они обязательны и там...

График с большим количеством данных
Добрый день всем. Возникла задача - отобразить на графике большое количество данных - порядка 100 тысяч точек. При этом пользователь...

Не работает код с большим количеством данных
Добрый день, в бд много миллионов записей, и их обработать все зараз не получается, решил их обрабатывать по частям, но столкнулся с...

Работа с графиком и большим количеством данных
Добрый день. Есть приложение для обработки приходящих в COM-порт данных и вывода их на экран. Данные приходят регулярно (около 70 значений...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Конвейеры данных с Apache Kafka
Javaican 16.03.2025
В мире, где данные стали новой нефтью, Apache Kafka зарекомендовал себя как мощный инструмент для построения надежных и масштабируемых конвейеров данных. Созданный изначально командой LinkedIn в 2011. . .
Deno против Node.js: Будущее JavaScript рантайма
run.dev 16.03.2025
За последнее десятилетие Node. js стал абсолютным лидером среди JavaScript-рантаймов и фактическим стандартом для серверной разработки на JavaScript. Но в 2018 году тот же разработчик, который создал. . .
SwiftUI или UIKit - что выбрать для нового приложения iOS?
mobDevWorks 16.03.2025
Когда Apple представила SwiftUI на WWDC 2019, многим показалось, что дни UIKit сочтены. Новый декларативный фреймворк предлагал радикально иной подход к разработке интерфейсов. Вместо кропотливого. . .
Docker: Руководство для начинающих по созданию первого приложения
Mr. Docker 16.03.2025
Docker — это платформа, которая упаковывает ваше приложение и все его зависимости в стандартизированные блоки, называемые контейнерами. Эти контейнеры изолированы друг от друга и от основной системы,. . .
парные условия и обработка кодов возврата (errorlevels)
jigi33 16.03.2025
Расширенная версия скобок условий, внутри неё могут быть использованы || (логическое или), & (логическое и) и логика генерации и обработки ошибок в BASH скриптах #!/ bin/ bash # Расширенная. . .
идеальная отладка в BASH скриптах
jigi33 16.03.2025
#!/ bin/ bash # VARIANT 1 - using keys -v or -xv # set -v - set verify mode OR # set -xv - set xtrace + verify mode (maximum detalization) OR # VARIANT 2 - ADD AVESOME BLOCK FOR DEBUGGING or. . .
Protobuf в Go и новый Opaque API
golander 15.03.2025
Распределенные системы опираются на эффективные протоколы обмена данными — о чем вы, скорее всего, прекрасно знаете, если работаете с микросервисной архитектурой. Protocol Buffers (Protobuf) от. . .
Преобразование строк в C++: std::from_chars от C++17 до C++26
NullReferenced 15.03.2025
Конвертация строк в числа — задача, с которой сталкивается практически каждый C++ разработчик. Несмотря на кажущуюся простоту, эта операция таит множество подводных камней и неочевидных последствий. . .
Управление памятью в Java и новые сборщики мусора
Javaican 15.03.2025
Эффективное управление памятью всегда было ахиллесовой пятой высоконагруженных Java-приложений. При разработке на Java мы обычно полагаемся на автоматическое управление памятью через сборщики мусора. . .
Angular или Svelte - что выбрать?
Reangularity 15.03.2025
Во фронтенд-разработке Angular и Svelte представляют собой два совершенно разных подхода к решению схожих задач. Один — полноценный, мощный монолит с корпоративной поддержкой, другой — компактный,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер