我想用 openpyxl 计算值
I would like to calculate the value with openpyxl
我是编程初学者。
我有一个 XLSXFILE 可以使用方程计算一些值。所以,我写了如下代码。
import openpyxl
import math
#Load file
XLSFILE = r"C:\Users\Name\PycharmProjects\Project_name\test.xlsx"
wb = openpyxl.load_workbook(XLSFILE, data_only=True)
ws_template = wb["Sheet1"]
#fill in value
for i in range (0, 61):
Ec = ws_template.cell(row=i+1, column=1)
Fc = -34.5*(2*(Ec/-0.002)-math.pow(Ec/-0.002, 2))
Fs = 206850*Ec
if Fs > 414:
Fs = 414
N = 62.9*Fc+1.6*Fs
ws_template.cell(row=i + 1, column=2).value = N
#Memorize file
wb.save(XLSFILE)
但是,我无法执行此程序。
报错信息是这样的
TypeError: unsupported operand type(s) for /: 'Cell' and 'float'
我应该怎么做才能解决这个问题?
提示:
版本:Python ver.3.6
您需要对单元格的值进行数学计算,而不是对单元格对象进行计算
使用Ec.value
代替EC
或Ec = ws_template.cell(row=i+1, column=1).value
我是编程初学者。
我有一个 XLSXFILE 可以使用方程计算一些值。所以,我写了如下代码。
import openpyxl
import math
#Load file
XLSFILE = r"C:\Users\Name\PycharmProjects\Project_name\test.xlsx"
wb = openpyxl.load_workbook(XLSFILE, data_only=True)
ws_template = wb["Sheet1"]
#fill in value
for i in range (0, 61):
Ec = ws_template.cell(row=i+1, column=1)
Fc = -34.5*(2*(Ec/-0.002)-math.pow(Ec/-0.002, 2))
Fs = 206850*Ec
if Fs > 414:
Fs = 414
N = 62.9*Fc+1.6*Fs
ws_template.cell(row=i + 1, column=2).value = N
#Memorize file
wb.save(XLSFILE)
但是,我无法执行此程序。
报错信息是这样的
TypeError: unsupported operand type(s) for /: 'Cell' and 'float'
我应该怎么做才能解决这个问题?
提示:
版本:Python ver.3.6
您需要对单元格的值进行数学计算,而不是对单元格对象进行计算
使用Ec.value
代替EC
或Ec = ws_template.cell(row=i+1, column=1).value