为列中的每一行编写 excel 公式

writing excel formula for each row in a column

我有来自网站的数据,每次程序 运行 都会写入 excel。我需要使用某些单元格中的数据在几列中使用公式。 下面是我的代码,我在这个例子的单元格中手动添加了值。 我需要 B 列、D 列和 F 列中的公式。 B列应该是A2-A1的总和 D 列应为 C2-C1 的总和 F 列应该是 B1/D1

的总和

写完行后,我需要为 B、D、F 列中的所有行做公式。 如何使用 python 插入公式?有人可以帮忙吗

from openpyxl import load_workbook
path = r"C:/folder/file.xlsx"
wb = load_workbook(path)

sheet = wb[sheet_name]

row = sheet.max_row + 1
sheet.cell(row=row, column=1, value="10")  # => column A
sheet.cell(row=row, column=2, value="20")   # => column C
sheet.cell(row=row, column=3, value="100")  # => column E
from openpyxl import load_workbook
path = r"c:/Temp/file.xlsx"
wb = load_workbook(path)

sheet_name = "Sheet1"
sheet = wb[sheet_name]

for row in range(1, 101): # loop over 100 first rows
    sheet.cell(row=row, column=1, value=10)  # => column A
    sheet.cell(row=row, column=3, value=20)   # => column C
    sheet.cell(row=row, column=5, value=100)  # => column E

    # make the formulae
    # I did not understand the meaning of the formulas without sample data
    # and examples, so I tried to do it literally as it was written,
    # with correction for line offset
    sheet.cell(row=row+1, column=2, value=f'=SUM(A{row+1}-A{row})')
    sheet.cell(row=row+1, column=4, value=f'=SUM(C{row+1}-C{row})')
    sheet.cell(row=row+1, column=6, value=f'=IFERROR(SUM(B{row}/D{row}),"-")')

wb.save(path)
wb.close