如何在指定范围内使用OpenPyXL?

时间:2017-01-03 15:21:23

标签: python-3.x openpyxl

如何将一列中的每个值除以单独列中的每个值?

我是否使用范围功能?

示例:

for i in range(2,80):
    sheet['D{}'.format(i)] = '=C1/E1, C2/E2, C3/E3, etc...'

1 个答案:

答案 0 :(得分:1)

您可以通过将分部操作应用于单元格的实际 values来完成此操作。你的代码非常接近;您只需要通过访问单元格值来纠正右侧:

import openpyxl


wb = openpyxl.load_workbook('path/to/xl/file', read_only = False)

# Assuming you are working with Sheet1
sheet = wb['Sheet1']

for i in range(2,80):
    try:
        sheet['D{}'.format(i)].value = int(sheet['C{}'.format(i)].value)/int(sheet['E{}'.format(i)].value)
    except ValueError:
        print("{} and/or {} could not be converted to int.".format(sheet['C{}'.format(i)].value, sheet['E{}'.format(i)].value))

wb.save('path/to/new/xl/file')

我希望这会有所帮助。