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

问题描述 投票:0回答:1

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

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

python excel openpyxl
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.