Python 3.x Openpyxl行和循环之和
我是openpyxl和python的新手,所以我正在寻找一些关于我的项目的帮助。 我在python上使用openpyxl,我想对行求和,直到它们达到某个数字。在达到某个数字后,它会将总和粘贴到它旁边的单元格中。然后,循环将跳过所有已添加的行,继续到单元格并进行求和 要了解我正在尝试做什么: Edit1:我被困在超出范围的列表索引上Python 3.x Openpyxl行和循环之和,python-3.x,excel,openpyxl,Python 3.x,Excel,Openpyxl,我是openpyxl和python的新手,所以我正在寻找一些关于我的项目的帮助。 我在python上使用openpyxl,我想对行求和,直到它们达到某个数字。在达到某个数字后,它会将总和粘贴到它旁边的单元格中。然后,循环将跳过所有已添加的行,继续到单元格并进行求和 要了解我正在尝试做什么: Edit1:我被困在超出范围的列表索引上 from openpyxl import load_workbook import statistics wb=load_workbook('Algorand.x
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, column=3, value=sum)
if sum<target:
next = next + 1
sum = sum + testlist[next]
#next=i
print(f"thirdsum:{sum}")
sheet.cell(row=i + 1, column=3, value=sum)
从openpyxl导入加载\u工作簿
进口统计
wb=加载工作簿('Algorand.xlsx')
工作表=wb.active
testlist=[]
对于列表中的行(sheet.columns)[0]:
testlist=testlist+[row.value]
打印(测试列表)
平均值=统计平均值(测试列表)
std=statistics.stdev(测试列表)
目标=平均值+2*std
长度=长度(测试列表)
对于范围(0,长度-2)内的i:
如果testlist[i]首先需要在for循环中索引输入位置(行增加,列=1)
您需要一个sum变量来记录添加的总数,它可以在循环之前声明为0
然后,每转一圈,将读取值添加到其中,然后比较条件。
如果没有违反,继续
,但如果违反,请在其旁边写下总和,然后将总和闪回0。到目前为止你尝试了什么?嗨,查理,我已经更新了我在上面帖子中的内容。我真的看不懂该代码,但它看起来太复杂,而且做的比你说的要多。