1. 程式人生 > 其它 >python小程式-把產品1中的需求移到產品2中,產品1中的用例需要匯入產品2,則對應的需求id發生變化,需要進行替換

python小程式-把產品1中的需求移到產品2中,產品1中的用例需要匯入產品2,則對應的需求id發生變化,需要進行替換

1、需求

把產品1中的需求移到產品2中,產品1中的用例需要匯入產品2,則對應的需求id發生變化,需要進行替換

2、步驟

一個表三個sheet,testcase-產品1中的用例,src-產品1中的需求及需求id,dest-產品2中的需求和需求id
步驟:testcase產品1中的用例中關聯產品1中的需求id,則testcase中的需求id從src中找到,
然後獲取需求中文名再從dest中找到需求中文名獲取需求id,回填到testcase中

3、程式碼

"""
需求:把產品1中的需求移到產品2中,產品1中的用例需要匯入產品2,則對應的需求id發生變化,需要進行替換
一個表三個sheet,testcase-產品1中的用例,src-產品1中的需求及需求id,dest-產品2中的需求和需求id
步驟:testcase產品1中的用例中關聯產品1中的需求id,則testcase中的需求id從src中找到,
然後獲取需求中文名再從dest中找到需求中文名獲取需求id,回填到testcase中
""" import openpyxl from openpyxl import load_workbook # excel物件 -> sheet表單物件 -> cell單元格物件 -> 行和列、值屬性 testexcel_wb = load_workbook("testcase_list.xlsx") testexcel_ws = testexcel_wb['testcase'] # testcase表第八列為需求id,獲取testcase中需求id testexcel_cell = testexcel_ws.cell(1,8) testexcel_value = testexcel_cell.value
# 建立其他兩個sheet的表單物件 src_testexcel_ws = testexcel_wb['src'] dest_testexcel_ws = testexcel_wb['dest'] # testcase從第二行開始,獲取需求id # 這裡踩了個坑,兩邊的表,需求id一個為數字,一個為字串,導致沒迴圈替換,所以最後都轉化為字串了 for row_testcase in range(2,testexcel_ws.max_row+1): testexcel_cell = testexcel_ws.cell(row_testcase, 8) testexcel_cell_value
= str(testexcel_cell.value) # src表裡迴圈,直到找到對應的需求id,src第二列為需求id for row_src in range (2,src_testexcel_ws.max_row+1): src_testexcel_cell = src_testexcel_ws.cell(row_src,2) src_testexcel_cell_value=str(src_testexcel_cell.value) # src找到需求id,並獲取需求的中文名 if testexcel_cell_value == src_testexcel_cell_value: src_name_value = src_testexcel_ws.cell(row_src,1).value print(src_name_value) # dest表中通過src的需求中文名找對應的需求id for row_dest in range (2,dest_testexcel_ws.max_row+1): dest_testexcel_cell = dest_testexcel_ws.cell(row_dest,1) if src_name_value== dest_testexcel_cell.value: dest_id_value = dest_testexcel_ws.cell(row_dest,2).value testexcel_cell.value = dest_id_value info_message = f'需求:{src_name_value},id{src_testexcel_cell.value}替換為新id{dest_id_value}' print(info_message) break testexcel_wb.save("testcase_list.xlsx")