我正在尝试创建以下结构: Tom :{start_row: 1 ,end_row:3},Sam:{start_row:4,end_row:5}, Mike:{start_row:6,end_row:8}
我在 excel 中的数据是 Tom|A| 汤姆|X| 汤姆|Y| 山姆|z| ..
我正在使用的代码是
all_guys_list = {}
start_end_dict = {"start_row": 0, "end_row": 0}
for xl_row in range(2,xlworksheet.max_row+1):
present_guy_name = xlworksheet.cell(row=xl_row,column=1).value
if present_guy_name not in all_guys_list:
all_guys_list[present_guy_name] = 0
start_end_dict["start_row"]=xl_row
else:
start_end_dict["end_row"] = xl_row
all_guys_list[present_guy_name]=start_end_dict
print(all_guys_list)
输出为: {'TOM': {'start_row': 6, 'end_row': 8}, 'SAM': {'start_row': 6, 'end_row': 8}, 'MIKE': {'start_row': 6,'end_row':8}}
所以在每个循环结束时, start_end_dict 被分配给 all_guy_list 的所有键,这是错误的。结果,Mike 的开始和结束行值被分配给所有的家伙。我怎样才能解决这个问题 ?
另外,我必须在循环中选择外键并从头到尾为每个人迭代并从 excel 中选择其他值。请帮我解决一下这个 。