我需要编写代码,这些代码将填充一个列,其中包含我指定的行的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
当我保存它时,没有任何反应。有没有人知道如何在不必指定行的情况下将其添加到下一个列中的两列?
答案 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