为列中的每一行编写 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
我有来自网站的数据,每次程序 运行 都会写入 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