将两列一起添加并使用openpyxl将总和写入一列

时间:2017-11-09 22:41:20

标签: python excel openpyxl

我需要编写代码,这些代码将填充一个列,其中包含我指定的行的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

当我保存它时,没有任何反应。有没有人知道如何在不必指定行的情况下将其添加到下一个列中的两列?

1 个答案:

答案 0 :(得分:0)

所以有一些我没有看到的东西。

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