Так что в основном то, что я пытаюсь сделать, читается в некоторых входных переменных из книги excel и записывает их в некоторые ячейки Model Model. Затем я сохраняю книгу, чтобы попытаться обновить данные в выходной модели. Поскольку ячейки модели Output Model являются формулами, я пытаюсь перезагрузить книгу как прочитанную data_only, а затем захватить эти ячейки и сохранить их на отдельном листе. Затем я сохраняю книгу еще раз.openpyxl data_only дает только один ответ при сохранении переменной
Проблема заключается в том, что значения, которые я пытаюсь захватить (LS, Sales, TPLH), в загруженной книге data_only считываются как ничто, а не значения, которые мне нужны. В конечном итоге я хочу сделать это в цикле, чтобы перебирать кучу входных переменных, но я хотел попробовать его с помощью только одного набора.
Если кто-нибудь знает, как лучше это сделать или что я делаю неправильно, пожалуйста, дайте мне знать! Я ценю любые отзывы. Вот мой код:
from openpyxl import load_workbook
wb2 = load_workbook("Z:\\PythonFiles\\testexcel.xlsx")
sh2 = wb2.get_sheet_by_name("Output Model")
sh= wb2.get_sheet_by_name('OptimizationData')
ForeCast = sh.cell(row=3, column=2).value
sh2.cell(row=3, column=6).value=ForeCast
wb2.save("Z:\\PythonFiles\\testexcel.xlsx")
wb = load_workbook("Z:\\PythonFiles\\testexcel.xlsx", data_only =True)
sh3 = wb.get_sheet_by_name("Output Model")
sh4 = wb.get_sheet_by_name("OptimizationData")
LS=sh3.cell(row=11, column=3).value
Sales = sh3.cell(row=12, column=3).value
TPLH = sh3.cell(row=13, column=3).value
sh4.cell(row=3, column=7).value=LS
sh4.cell(row=3, column=8).value=Sales
sh4.cell(row=3, column=9).value=TPLH
wb.save("Z:\\PythonFiles\\testexcel.xlsx")
Связанный, но не 100% -ный обман: https://stackoverflow.com/q/35681902/2988730 –