Я реализовал программу на VBA для Excel для создания автоматических сообщений на основе пользовательского ввода (выбор ячеек). Такой макрос, написанный на VBA, широко использует функцию listObject VBA, то есть определение таблицы (объекта списка).
Dim ClsSht As Worksheet
Set ClsSht = ThisWorkbook.Sheets("paragraph texts")
Dim ClsTbl As ListObject
Set ClsTbl = ClsSht.ListObjects(1)
доступ к таблице в коде очень логичен: ClsTbl теперь является таблицей, в которой я хочу собирать данные.
myvariable= ClsTbl.listcolumns("D1").databodyrange.item(34).value
Это означает, что myvariable - это элемент (строка) 34 данных столбца D1 таблицы clstbl
Я решил изучить python, чтобы «перевести» весь этот код в python и сделать программу на основе django доступной для всех.
Я новичок в Python, и мне интересно, что было бы эквивалентом в python листобъекту VBA. Это решение с самого начала сформирует всю мою программу на python, и я сильно не решаюсь решить, какой python эквивалентен listobject в VBA.
Основная идея здесь - получить доступ к таблицам-данным в читаемом виде,
т.е. дайте мне значение столбца «текст», где столбец «глава» - 3, а абзац столбца - «2». Значения уникальны, то есть есть только одно значение в «текстовом» столбце, где оно встречается.
Некоторые наблюдения:
Я знаю, что все можно сделать со списками в python, списки могут содержать списки, которые могут содержать списки ..., но это ужасно для удобочитаемости. mylist 1 [2] [3] (предполагая, например, что каждая строка может быть список значений, а вся таблица - список списков строк).
Я не рассматривал вариант создания какой-либо базы данных. Есть несколько относительно небольших таблиц (от 10 до 500 строк и от 3 до 15 столбцов), которые связаны, но не в виде базы данных. Это заставило бы меня выучить еще один язык SQL или около того, а Python и DJango у меня более чем достаточно.
Пользователь изменяет структуру многих таблиц (главы объединяются или разделяются.
данные - это 100% строки. Единственные целые числа - это числа для сортировки текста. Я не выполняю никаких математических операций со значениями, а просто складываю фрагменты текста и делаю замены в текстах.
таблицы будут загружены в Python как текстовые файлы CSV.
Пожалуйста, укажите мне, если в вопросе что-то неясное, и я дополню его
Было бы необходимо работать с numpy? панды?
т.е. дайте мне значение ячейки