如何解决Openpyxl跳过for循环的迭代
我在python上使用openpyxl,我想对行进行求和,直到达到一定数量为止。达到一定数量后,它将把总和粘贴到它旁边的单元格上。然后,循环将跳过所有已添加的行,并继续进入单元格并进行求和。
给出我要做什么的想法:excel picture
from openpyxl import load_workbook
import statistics
wb=load_workbook('Algorand.xlsx')
sheet=wb.active
testlist = []
for row in list(sheet.columns)[0]:
testlist= testlist + [row.value]
print(testlist)
avg=statistics.mean(testlist)
std=statistics.stdev(testlist)
target=avg+2*std
length=len(testlist)
for i in range(0,length-2):
if testlist[i]<target:
sum= testlist[i]+testlist[i+1]
print(f"firstsum:{sum}")
sheet.cell(row=i + 1,column=3,value=sum)
if sum<target:
next=i+2
sum=sum+testlist[next]
print(f"secsum:{sum}")
sheet.cell(row=i + 1,value=sum)
if sum<target:
next = next + 1
sum = sum + testlist[next]
#next=i
print(f"thirdsum:{sum}")
sheet.cell(row=i + 1,value=sum)
但是,我得到这个: code results not desired
我该如何解决这个问题
解决方法
您的代码似乎比获得您描述的结果要复杂。只需遍历第一列中的单元格并添加到总计中即可。如果总数达到限制,则写入总数,然后将其重置为零。
尝试以下代码:
VALUE RS TYPE CONDITION OTHER_COLUMN OTHER-COLUMN
SS 2 GG PROB 1 2
DD 9 CT NORMAL 1 2
FF 5 TT PROB 1 2
输出(限制= 12)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。