我正在编写一个openpyxl脚本,在通过“for row in sheet.iter\u rows”的迭代引用行号时遇到了障碍。当尝试调用它时,如果没有值\u only=True,它将提取填充单元格的真坐标的元组。如果我用值\u only=True来调用它,它将提取每个填充单元格的值
我试图用一个基于同一行上两个单元格的公式来填充迭代所在行的G列。我已经找到了一种方法来获取行号,如果我直接基于单元格坐标来做的话,但是遍历所有单元格将是低效的。4行迭代>;30单元迭代
--不是访问“for”循环中的索引的副本。这将调用由p1.iter\u行生成的列表的特定部分(min\u row=2,values\u only=True,我试图引用for循环当前所在的行指定)。例如,如果它在第2行,它将在上面代码中的“D”、“C”或“G”之后放置一个2。Enumerate也会这么做。我不需要访问列表本身,我需要当前正在迭代的行的分类引用号
for row in p1.iter_rows(min_row=2, values_only=True):
cvalue = p1['D' + str(row)]
msrp = p1['C' + str(row)]
p1['G' + str(row)] = msrp * int(.0825) + cvalue
test = p1.row.coordinate
更正代码:
for row in p1.iter_rows(min_row=2, min_col=3, max_col=3):
for cell in row:
xy = coordinate_from_string(cell.coordinate)
colcoor = column_index_from_string(xy[0])
rowcoor = xy[1]
cval = p1['C' + str(rowcoor)]
pval = p1['D' + str(rowcoor)]
目前没有回答
相关问题 更多 >
编程相关推荐