Я создаю PY-скрипт для извлечения данных из моей базы данных и создания электронной таблицы Excel. Сценарий PY использует несколько разных модулей, но речь идет о pandas и openpyxl . Я хотел бы иметь возможность автоматически подбирать ширину столбцов для всех столбцов аналогично тому, как это делается в Excel (на основе содержимого). Проблема в том, что некоторые данные используют формулы для ответов на некоторые распространенные вопросы анализа данных, например «Сколько уникальных ключевых слов?», И, насколько мне известно, openpyxl действительно не любит формулы.
Я просмотрел много переполнения стека, и я думаю, что наиболее близким к тому, что мне хотелось бы, является что-то вроде этого: Как получить доступ к реальному значению ячейки с помощью модуля openpyxl для python . Тем не менее, ни один из опций (включая вышеописанный), которые я пробовал, не работал.
Следующий код является одним из методов, которые я пробовал:
writer = pandas.ExcelWriter(file_name, engine = "openpyxl")
writer.book = openpyxl.load_workbook(file_name, data_only = True)
writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets)
lastRow = worksheet.max_row
worksheet['L1'] = f"=\"Count of Unique Keywords = \"&sum(--(frequency(match(A2:A{lastRow},A2:A{lastRow},0),row(A2:A{lastRow})-row(A2)+1)>0))"
print (worksheet['L1'].value)
С помощью приведенного выше кода, я надеюсь получить из печати: Количество уникальных ключевых слов = 123
Но вместо этого я получаю функцию Excel:
="Count of Unique Keywords = "&sum(--(frequency(match(A2:A100,A2:A100, 0),row(A2:A100)-row(A2)+1)>0))
Извините, если на этот вопрос уже был дан ответ / если формат этого вопроса не идеален. Это первый вопрос, который я задал о переполнении стека.