Average Excel Columns



我试图在一定范围内的列内平均出值。我试着列出范围作为一个元组,然后循环,以便能够获得单元格值。然后,我为平均值创建了一个变量,但得到错误'TypeError: 'float'对象是不可迭代的。

range1 = ws["A2":"A6]
for cell in range1:
for x in cell:
average = sum(x.value)/len(x.value)
print(average)

Python和Openpyxl API使这类事情变得非常容易。

rows = ws.iter_rows(min_row=2, max_row=6, max_col=1, values_only=True)
values = [row[0] for row in rows]
avg = sum(values) / len(values)

但是你应该检查单元格是否包含数字,否则你会看到一个异常。

这样可以得到单元格的平均值。

import openpyxl as op
def main():
wb = op.load_workbook(filename='C:\Users\####\Desktop\SO nonsense\Book1.xlsm')

range1 = wb['Sheet1']['A2:A6']
cellsum = 0
for i, cell in enumerate(range1, 1): 
print(i)
cellsum += cell[0].value

print(cellsum / i)
main()

最新更新