如何将参数从excel列传递到python用户定义函数并循环每行?
我正在尝试从Excel导入数据并循环每个数据集。 我在Excel表格的A、B、C栏中有数据。 我使用openpyxl从excel工作簿导入数据。但我不知道如何引用A、B、C列是我函数的参数。 请看图片: 这是我的职责:如何将参数从excel列传递到python用户定义函数并循环每行?,python,function,for-loop,arguments,openpyxl,Python,Function,For Loop,Arguments,Openpyxl,我正在尝试从Excel导入数据并循环每个数据集。 我在Excel表格的A、B、C栏中有数据。 我使用openpyxl从excel工作簿导入数据。但我不知道如何引用A、B、C列是我函数的参数。 请看图片: 这是我的职责: x = 0.2 def quadratic(a, b, c, x): return a*x**2 + b*x + c 我想将参数A、B、C的A、B、C列的数据传递给每一行(在我的图像中,从第2行到第18行的每一行)。您可以将电子表格中的数据导出为CSV,并使用pyth
x = 0.2
def quadratic(a, b, c, x):
return a*x**2 + b*x + c
我想将参数A、B、C的A、B、C列的数据传递给每一行(在我的图像中,从第2行到第18行的每一行)。您可以将电子表格中的数据导出为CSV,并使用python内置CSV模块()逐行遍历 下面根据文档中的示例改编的代码应该可以工作,但我没有运行它。 它逐行读取csv,将值强制转换为浮点数,并调用您的函数
import csv
x = 0.2
def quadratic(a, b, c, x):
return a*x**2 + b*x + c
with open('data.csv', newline='') as csvfile:
datareader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in datareader:
data = map(float,row)
print(quadratic(*data,x))
使用xlwings调用excel中的二次函数,然后在excel中选择1row*3列(以获取a、b、c的值)。(请将python和excel精细保存在同一位置)
可能的重复项创建一个包含Excel公式的D列不是更容易吗?stovfl的上述评论是否解决了您的问题?谢谢您的帮助。但我不想使用单独的csv文件。因此,我使用openpyxl从excel工作手册中导入数据。我的问题是不知道如何引用A、B、C列是我函数的变量参数。
import xlwings as xw
@xw.func
@xw.arg('num',ndim = 1)
def quadratic(num):
x = 0.2
a=int(num[0])
b=int(num[1])
c=int(num[2])
total = a*x**2 + b*x + c
return total