В настоящее время в качестве базы данных используется таблица Word. Есть ли лучший способ сделать это?

В настоящее время в качестве базы данных используется таблица Word. Есть ли лучший способ сделать это?

Я провожу исследование минералов для книги. В конечном итоге мне нужно будет отслеживать около двух тысяч минералов. В настоящее время это делается с помощью таблицы Word из ~800 строк, где каждая строка более или менее выглядит как эта картинкаhttps://imgur.com/a/YDvLXxo

Мне нужна следующая функциональность: (a) иметь возможность сортировать таблицу по любому набору столбцов, (b) видеть визуальную миниатюру для каждой строки (c) но при этом сохранять копию изображения в полном разрешении (d) и иметь возможность нажимать на любые активные ссылки в записи таблицы.

В настоящее время размер файла Word составляет около 600 МБ, и Word (версия Office 365) явно начинает трещать по швам (например, автосохранение больше не работает, а иногда я не могу ничего выбрать в документе).

В настоящее время я запускаю программу Python, которая читает файл Word и создает файл .pdf, поскольку мне нужно сопоставить каждую строку таблицы с одной страницей вывода с соответствующим масштабом и расположением изображения, заметок и других атрибутов. Размер файла .pdf составляет около ~2 ГБ, поэтому я затем прогоняю его через сжиматель файлов .pdf и получаю приемлемый конечный результат размером ~200 МБ.

Так что мой вопрос: есть ли лучший способ сделать это? Я быстро посмотрел на Access и не смог понять, как заставить его обрабатывать фотографии.

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

Итак, есть ли флаг, который я могу установить в Word, чтобы безопасно разрешать «большие» файлы? Если да, то есть ли способ иметь ту же функциональность, но иметь один минерал на странице, красиво отформатированный с соответствующими стилями? Если нет, мне следует перейти на какое-то другое программное обеспечение для работы с документами? (Примечание: изначально это было у меня в Google Docs, но там не было функции сортировки. Надстройки вроде как предлагали сортировку, но каждая из них так или иначе ломалась на гораздо меньшей таблице.)

решение1

Если вы остаетесь с продуктом Microsoft Office, вам следует использовать Excel для этого приложения. Сортировка встроена (см. скриншот), файл можно сохранить напрямую в PDF, рабочий лист может содержать более 1 миллиона строк, стандартно используется несколько рабочих листов, поэтому вы можете классифицировать элементы по различным категориям на разных рабочих листах. И я уверен, что можно написать приложение Python, которое будет считывать данные Excel из рабочей книги.

введите описание изображения здесь

решение2

Поскольку вы уже знакомы с Python, я настоятельно рекомендую перенести ваш проект наGoogle ТаблицысAPI Google.

  1. Скопируйте и вставьте вашу таблицу в новую таблицу Google Таблиц.
  2. Ознакомьтесь с API Таблиц (ключ API и аутентификация, подключение Python, доступ к таблице и ее чтение)
  3. Расширьте свой скрипт Python, чтобы извлечь данные из Таблиц и создать свой PDF-файл

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

Вот хороший видеоурок для начинающих:Google Таблицы — API Python, чтение и запись данных (YouTube)

Ваше здоровье!

решение3

Простым ответом, по-видимому, является то, что таблицы Word обладают необходимой мне функциональностью (каждая строка таблицы подстраивается под содержимое, включая изображение, сортировка проста, ссылки внутри ячеек работают), поэтому мне просто нужно быть осторожным, чтобы не превысить скрытые ограничения на размер файла.

Альтернативой было бы найти другой хороший редактор документов, который точно поддерживает импорт из Word.

Пока Excel обрабатывает изображения в ячейках как объекты, а не как значения, Excel будет непригоден для моих целей.

Связанный контент