我试图依次将df1
,df2
,df3
和df4
传递到parseTwoPoleBreakers
函数中。但是,仅运行df1
。我的if
elif
语句是否有问题,导致df2
,df3
和df4
不传递到parseTwoPoleBreakers
函数中?
i=0
for j in range(0,4):
if j==0:
df=df1
elif j==1:
df=df2
elif j==2:
df=df3
else:
df=df4
#execute this for each dataframe
while (i<7):
parseTwoPoleBreakers(7,8,"ab",i,df)
breakerid+=1
parseTwoPoleBreakers(9,10,"bc",i,df)
breakerid+=1
parseTwoPoleBreakers(11,12,"ca",i,df)
breakerid+=1
i+=1
#j+=1
print j
最佳答案
我正在尝试将df1,df2,df3和df4依次传递到parseTwoPoleBreakers函数中
您的问题很可能与if语句中的变量作用域有关,或者与while i < 7
之后没有输入df1
的事实有关,因为i == 7
使用列表代替df
,是不是要循环返回7个i
值?
for df in [df1, df2, df3, df4]:
#execute this for each dataframe
for i in range(7):
parseTwoPoleBreakers(7,8,"ab",i,df)
breakerid+=1
parseTwoPoleBreakers(9,10,"bc",i,df)
breakerid+=1
parseTwoPoleBreakers(11,12,"ca",i,df)
breakerid+=1