2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
|
|
1 | |
Оптимизация и автоматизация работы с большим количеством данных01.08.2012, 23:03. Показов 9787. Ответов 18
Метки нет Все метки)
(
Прошу прощения за краткость в названии темы, но коротко ее не опишешь.
Дело вот в чем. Мой отец - заядлый коллекционер, и у него огромная коллекция конвертов, каталог которой он создал на компьютере. Последний создавался в начале 2000-х годов, когда о компьютере мы почти ничего не знали. Каталог представляет из себя одну огромную таблицу в ворде на 650 страниц, размер файла 8,5 Мб. В таблице 6 столбцов, первый из которых - номер конверта по порядку. Но и тут не всё так просто. Есть подразделы (годы), таблица на их названиях не прерывается. В каждом годе свои номера, кроме того, есть такие номера как 173а, 173б и т.д. Так вот собственно о задаче. Периодически в этой таблице появляется новая строчка, что приводит к необходимости вручную менять все нижеследующие номера в данном подразделе, иногда их сотни. Можно ли как-то автоматизировать процесс? Кроме того, весь этот документ немилосердно тормозит и глючит даже на новом компьютере. Можно ли как-то оптимизировать работу с этой таблицей? Например, перенести ее как-то в эксель? Я думаю, что там было бы проще и номера менять автоматически.
0
|
01.08.2012, 23:03 | |
Ответы с готовыми решениями:
18
Оптимизация отчета с большим количеством формул СУММПРОИЗВ Оптимизация производительности проекта с большим количеством объектов Image Нужны идеи по реализации работы с большим количеством инструкций |
Модератор
![]() ![]() |
|
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 |
C аксессом никогда не работал, сначала попробую эксель.
Этой идеи вообще не понял, Вы о чем? Вот это отличная идея, спасибо. Правда, надоест делать 50 листов, конечно ![]() При переносе в эксель сразу же столкнулся с 2 проблемами: 1. Наверное, это я такой тупой, но в одной таблице никак не выделить текст во всю ширину страницы на ограниченную длину: выделяется сразу вся таблица. Приходится выделять отдельно по столбикам и подразделам, а это 6 столбцов примерно в 50 разделах (причем отнюдь не равных по длине), что дает 300 действий копирования и столько же - вставить. Всё же хотелось бы попроще. 2. Разумеется, объем текста в столбцах различается, поэтому в некоторых из них есть пустые строчки, что в экселе превращается в пустые ячейки, которые, в свою очередь, сдвигают весь столбец. Удалять все эти хаотично расположенные ячейки вручную можно неделями.
0
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
02.08.2012, 10:30 | 5 |
Объединенные ячейки?
Известная проблема: знаки перевода строки и абзаца в ячейках Ворда приводят к появлению доп. ячеек в Excel. Решение такое: в Ворде заменить эти символы на уникальный текст (например ^p на @#$, ^l на @#$), скопировать - вставить в Excel, в Ворде сделать отмену, а в Excel заменить @#$ на Ctrl+j. Категорически не согласен! Однородные данные должны храниться в одной таблице. Инече потом будет невозможно сделать выборку по фрагменту названия и т.п.
1
|
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
|
|
02.08.2012, 23:11 [ТС] | 6 |
Возможно, тут Вы правы. Сначала посмотрю, как это будет выглядеть одной таблицей.
В вордовском файле таблица идет без разделения строчек, если Вы об этом. Да, примерно такого совета и ожидал, но проверить на практике не получилось. В ворде замену сделал, в эксель перенес, но тут замена @#$ на Ctrl+j дала полную ерунду, т.е. везде появились Ctrl+j. Наверное, заменять нужно на что-то другое. У меня установлен Office 2010, если это важно. Кстати, заодно поинтересуюсь, нормально ли, что в экселе всё скопировалось в 1-ю ячейку по вертикали? И еще, документ лучше сохранять в новом формате .xlsx?
0
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
03.08.2012, 01:21 | 7 |
Вы вводили Ctrl+j, т.е. 6 символов?!
![]() Ctrl+j означает "удерживая нажатой клавишу Ctrl, нажать клавишу j. При этом в поле ввода ничего не отображается, но символ перевода строки там есть. Можете потренироваться: введите в ячейку молоко и замените о на Ctrl+j. Добавлено через 3 минуты Нет, не нормально. Перед вставкой в Экселе не входите в режим редактирования ячейки, а просто выделите ячейку, с которой начнется таблица (обычно А1). Дело вкуса.
0
|
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
|
|
03.08.2012, 01:40 [ТС] | 8 |
Виноват, к ночи, видимо, совсем всё плохо пошло
![]() Экселем пользовался до сих пор только для примитивных вычислений и графиков, так что с горячими клавишами в нем не знаком. С заменой всё получилось, но осталось как минимум 3 проблемы: 1. Всё-таки всё копируется в 2 вертикальные ячейки: заголовок таблицы и всё остальное. Чесслово, в редактирование ячейки не лез, открыл новый документ и нажал Ctrl+V. Предполагаю, что это связано с тем, что строчки в вордовской таблице не разделены. 2. С последним так же связана еще одна проблема. Я пока провожу эксперименты на более простом документе, где меньше столбцов и в 10 раз меньше страниц, и операции проходят небыстро. Если копировать разом весь тот документ на 650 страниц, есть подозрение, что всё просто намертво повиснет. Разве что выделять по столбцам... 3. Если делать всё одной таблицей, то как настроить автозамену номеров при добавлении строчки только в рамках данного подраздела, причем с учетом номеров типа 117а, 117б и т.п.?
0
|
![]() 770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
03.08.2012, 05:29 | 10 |
shadow_405, Если строк подразумевается не больше 20 тыс, тогда самое простое сделать в Excel и пересчитывать VBA скриптом.
Если строк будет больше, то тут либо по листам разбивать либо будут глюки. Так что в случае количества строк больше 20 тыс, лучше изучайте Access, на нем все у вас будет нормально храниться и работать.
0
|
2 / 2 / 0
Регистрация: 01.08.2012
Сообщений: 12
|
|
07.08.2012, 12:24 [ТС] | 12 |
К сожалению, некоторое время был занят, и завтра уеду на несколько дней. Задачи и проблемы я озвучил. Прилагаю фрагмент документа, который надо перенести. Общее количество конвертов, а значит, видимо, и строк - около 12000. Это количество, наверное, будет увеличиваться, но вряд ли превысит 20000, так что эксель подходит с этой точки зрения. Хотелось бы всё же переносить именно в него, поскольку освоить аксесс для меня еще реально, а вот для отца - не уверен. Остаются проблемы, которые я перечислил в предыдущем посте.
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-ой ячейки.
1
|
Модератор
![]() ![]() |
|
08.08.2012, 01:01 | 16 |
игра шрифтами и ориентацией(поля минимальные)
шрифт 7 --более менее пригоден шрифт 9 --терпимо больше 9 --не лезет в ширину листа в номере --учтена буква в дате --полный формат в цене --номинал 90-х
1
|
Модератор
![]() ![]() |
|
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
|
25.08.2012, 13:40 | ||||||
Помогаю со студенческими работами здесь
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 представляют собой два совершенно разных подхода к решению схожих задач. Один — полноценный, мощный монолит с корпоративной поддержкой, другой — компактный,. . .
|