我有一个数据框,看起来我在这里有2列
Automated test case name TC Type
name 1 Pre-Req
name 2 Pre-Req
name 3 Pre-Req
name 4 Pre-Req
name 5 Actual
name 6 Actual
name 7 Pre-Req
name 8 Actual
我要做的是如果在TC Type栏中找到“Actual”字样, 然后添加以前的所有“pre-req”与所有实际值, 如果我连续发现Actuals,我需要采取所有的前需求 在两个“实际”之前,我发现我已经编写了代码,但这并没有给我确切的结果。
以下是我的代码
new_list =[]
prev_list = []
df = data_TC1
Dict_TestCase_Mapping ={}
is_ActualFound = False
for i in range(1,len(df)):
if "Actual" == df['TC Type'][i]:
Dict_TestCase_Mapping[df['Automated test case name'][i]]= [i,new_list]
is_ActualFound = True
else:
new_list.append(df['Automated test case name'][i])
预期输出
{ name 5 :
[4,
[name1,
name2,
name3,
name4
]]
name 6 :
[5,
[name 1,
name 2,
name 3,
name 4
]]
name 8 :
[7,
[name 7
]]
我如何获得这个预期的输出?如果两个实际连续出现怎么处理?
答案 0 :(得分:0)
您没有使用is_ActualFound
变量。在循环中包含此elif
块,它应该完成工作。如果您不了解任何内容,请在下面发表评论。还要知道它是否适合你。
for i in range(1,len(df)):
if "Actual" == df['TC Type'][i]:
Dict_TestCase_Mapping[df['Automated test case name'][i]]= [i,new_list]
is_ActualFound = True
elif is_ActualFound and df['TC Type'][i] != "Actual":
new_list = []
mew_list.append(df['Automated test case name'][i])
is_ActualFound = False
else:
new_list.append(df['Automated test case name'][i])