我需要编写代码,这些代码将填充一个列,其中包含我指定的行的excel工作表中前两列的总和。我正在使用python 3.6和openpyxl。我尝试了以下几种不同的变体:
import openpyxl
from openpyxl import load_workbook
from openpyxl.compat import range
wb = load_workbook(filename='test.xlsx')
ws = wb.get_sheet_by_name('Sheet1')
for row in range(1, 15):
for col in range(4, 5):
value = ws['B'].value + ws['C'].value
当我保存它时,没有任何反应。有谁知道如何在不必指定行的情况下将其添加到下一个列中?
所以有一些我没有看到的东西。
wb.save('file_name.xlsx')
这将保存您的文件,从而提供更改,您可能会看到发生的事情。
您需要提供要在计算中显示的单元格的位置。
b_col, c_col = ['B', 'C']
for row in range(1, 15):
result_cell = 'A{}'.format(row)
b_value = ws[b_col + str(row)].value
c_value = ws[c_col +str(row)].value
ws[result_cell] = b_value + c_value
虽然在这个简单的函数上工作,我会使用excel函数:
for row in range(1, 15):
result_cell = 'A{}'.format(row)
add_function = '=B{}+C{}'.format(row)
ws[result_cell] = add_function