Какой инструмент, похожий на электронные таблицы, лучше всего подходит для управления структурированными данными с тегами и несколькими столбцами разного размера?

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

Мне нужен инструмент для работы с электронными таблицами, такой как LibreOffice Calc или Microsoft Excel, но с функциями клиентов баз данных SQL.

Я нашел 2 типа инструментов: клиенты SQL (например, DBeaver) и инструменты для работы с электронными таблицами, но ни один из них не отвечает всем требованиям.

На самом деле у меня есть около 100 статей о строках в моем файле LibreOffice Calc, и некоторые функции, описанные ниже, очень просты, но отсутствуют.

  • Простое управление размером ячеек, можно отобразить все содержимое ячейки, просто нажав на... В двух словах, это эргономичный способ навигации / отображения ячеек, зная, что в некоторых есть много текста, а в других нет.
  • Выбор столбца в флажке (Скрыть/Отобразить), как мы можем сделать в проводнике.
  • Например, фильтрация/сортировка по годам.
  • Фильтрация по списку тегов (или списку ключевых слов). Например, статья может иметь несколько тегов, таких как #network, #machinelearning, #topicmodeling. Фильтр может позволить пользователю щелкать теги в флажке, который фильтрует строки, запрашивая «строка должна содержать #tag1 ИЛИ #tag2». Во всех инструментах для работы с электронными таблицами есть «Автофильтр», но он не позволяет использовать несколько ключей.

И, к сожалению, в инструментах для работы с электронными таблицами легко нарушить согласованность всей базы данных, недавно я попытался отсортировать по столбцу «год», и Calc просто переместил все годы всех строк, не сохраняя заголовки и другие в соответствующей строке. Я знаю, что плохо использую этот инструмент, но мне нужен инструмент, который может защитить мои данные и предотвратить подобные ошибки...

Вы знаете, что существуют специализированные инструменты именно для вашего случая использования. Затем вы также можете экспортировать в такие форматы, как bibtex и т. Д. ...
Я использую Mendeley, но здесь мне нужен другой дополнительный инструмент для написания моих собственных столбцов, вот мои столбцы: Название, Авторы, Год, Объектив, Техника, Метрики и базовые показатели, Наборы данных, Сводка, Интересы, Теги, Разные заметки...
Например, мне нужно сравнить метрики (поэтому отображать столбец «метрики» со столбцом «название») для документов с тегами #machinelearning ИЛИ #rec в едином пользовательском интерфейсе, таком как электронная таблица.
Я предполагаю, что Calc может делать большинство или все эти вещи, но может быть неочевидно, как это сделать.
@Kodiologist, насколько мне известно, действительно может (просто не уверен в части «флажок», но в целом все эти функции есть) — но SR — неподходящее место, чтобы спрашивать, как это сделать :)

Ответы (1)

Форма в LibreOffice Base может обеспечить согласованность данных. Однако выполнение всего, что вы описали в Base, требует тщательного проектирования и, вероятно, некоторого программирования макросов.

Как указано в комментариях, Calc может делать почти все из этих вещей. Рассмотрим следующее.

ячейка с частично скрытым текстом

Маленькая красная стрелка показывает, что есть еще текст, который не виден. Дважды щелкните линию между столбцами A и B, чтобы автоматически изменить размер. Или, чтобы увидеть весь текст без изменения ширины, выберите ячейку A1, чтобы увидеть текст в строке формул.

расширенный столбец и строка формул

Чтобы отфильтровать по нескольким тегам, выберите всю таблицу и перейдите в « Данные» -> «Дополнительные фильтры» -> «Стандартный фильтр» .

стандартный фильтр

Точно так же мы можем фильтровать по диапазону лет.

диапазон лет

Чтобы показать/скрыть каждый столбец, вы можете написать макрос, который отображает диалоговое окно, подобное «Выбрать детали» в проводнике. Проще всего было бы использовать один список, допускающий множественный выбор, хотя это выглядело бы не так хорошо, как флажки.

Для этого сначала создайте диалоговое окно, перейдя в Инструменты -> Макросы -> Организовать диалоги . Затем напишите код Basic или Python для его выполнения. Если вы попробуете, но застрянете, опубликуйте код, который у вас есть, на stackoverflow.

Java — надежная альтернатива, хотя недостатком является то, что код более сложный, и его нужно компилировать с помощью LibreOffice SDK. Javascript также возможен, но я бы не рекомендовал его, потому что ресурсов о том, как это сделать, мало, а реализация глючит.