【发布时间】:2019-06-05 02:55:30
【问题描述】:
所以基本上我要做的是从 excel 工作簿中读取一些输入变量并将它们写入一些输出模型单元格。然后我保存工作簿以尝试更新输出模型中的数据。由于我的输出模型单元格是公式,我尝试将工作簿重新加载为只读 data_only,然后抓取这些单元格并将它们存储在单独的工作表上。然后我再次保存工作簿。
问题是我尝试在 data_only 加载的工作簿中获取的值(LS、Sales、TPLH)读出为 none 而不是我需要的值。我最终想把它变成一个循环来迭代一堆输入变量,但我想从一组开始尝试它。
如果有人知道更好的方法或我做错了什么,请告诉我!我感谢任何和所有的反馈。 这是我的代码:
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% 欺骗:stackoverflow.com/q/35681902/2988730
标签: openpyxl