摘要:測試業(yè)務(wù)需要現(xiàn)有中有個(gè)分別是的,的,的,如下圖的和都有列,且列數(shù)據(jù)值有部分是一樣的現(xiàn)需要將和匹配生成的,匹配規(guī)則把復(fù)制到的文件中,中的列值取值是和都有列匹配對應(yīng)的的列值實(shí)現(xiàn)打開要匹配的列索引目標(biāo)數(shù)據(jù)列索引的的的的的總行數(shù)的的的總列數(shù)的要匹
1.現(xiàn)有a.xlsx
a.xlsx中有2個(gè) sheet,分別是 a的data1,a的data2,
a的data2,如下圖
?2.a.xlsx的?data1 和data2 都有A列,且A列數(shù)據(jù)值有部分是一樣的
現(xiàn)需要將 data1和data2匹配生成c.xlsx的data3,
匹配規(guī)則:把data2復(fù)制到c.xlsx的data3文件中,data3中的E列值取值是? data1 和data2 都有A列匹配對應(yīng)的data1的E列值
def test_data4(): file1 = "data/a.xlsx" # 打開a.xlsx wb1 = xlrd.open_workbook(filename=file1) # a.xlsx要匹配的列索引 hid_index1 = 0 # a.xlsx目標(biāo)數(shù)據(jù)列索引 target_index1 = 1 # a.xlsx的sheet=a的data1 sheet1 = wb1.sheet_by_name("a的data1") # sheet=a的data1 的總行數(shù) rowNum1 = sheet1.nrows # sheet=a的data1的sheet的總列數(shù) colNum1 = sheet1.ncols # sheet=a的data1 要匹配的列索引( 就是sheet=a的data1中的B列) hid_index2 = 1 # sheet=a的data2 目標(biāo)數(shù)據(jù)列索引( 就是sheet=a的data2中的E列) target_index2 = 4 # 獲取表格sheet=a的 data2 sheet2 = wb1.sheet_by_name("a的data2") # sheet=a的 data2 的總行數(shù) rowNum2 = sheet2.nrows # sheet=a的 data2的總列數(shù) colNum2 = sheet2.ncols # xlwt準(zhǔn)備生成一個(gè)新的文件的sheet=b的data1 write_workbook = xlwt.Workbook() write_sheet = write_workbook.add_sheet("b的data1", cell_overwrite_ok=True) for index2 in range(0, rowNum2): for col_index in range(0, colNum2): # 遍歷表2的每一行每一列,把對應(yīng)的單元設(shè)置到新的文件中,即復(fù)制了表2的數(shù)據(jù) write_sheet.write(index2, col_index, sheet2.cell_value(index2, col_index)) # 在遍歷列過程中,如果碰到目標(biāo)數(shù)據(jù)列索引.即需要補(bǔ)充的字段,則進(jìn)行遍歷表1,判斷的id索引匹配 if col_index == target_index2: for index1 in range(1, rowNum1): hid1 = sheet1.cell_value(index1, hid_index1) if hid1 == sheet2.cell_value(index2, hid_index2): write_workbook,style_list = copy2(wb1) xf_index = sheet2.cell_xf_index(1, rowNum1) # 如果兩個(gè)表的id相同則把表1的單元內(nèi)容設(shè)置到表2對應(yīng)的單元格 write_sheet.write(index2, col_index, sheet1.cell_value(index1,target_index1),style_list[xf_index]) # 保存新的文件 write_workbook.save("data/b.xlsx")
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/123131.html
摘要:測試內(nèi)容使用不同的語言及其版本,測試各自完成包含行列單元格的文件的生成,對比其各自耗費(fèi)時(shí)間,次重復(fù)執(zhí)行取其平均值后進(jìn)行橫向比較。 背景 去年因?yàn)榫€上系統(tǒng)需要導(dǎo)出大量數(shù)據(jù)(大概是 11 萬行)到 Excel,代碼是 Python 2.7 寫的,除去數(shù)據(jù)庫查詢耗時(shí),整個(gè)的 Excel 文件生成也還要耗費(fèi)幾十秒的時(shí)間,這聽起來真是一個(gè)非常夸張的事情。后來為其更換了號稱性能表現(xiàn)最好的 pyex...
目錄Numpy簡介Numpy操作集合1、不同維度數(shù)據(jù)的表示1.1 一維數(shù)據(jù)的表示1.2 二維數(shù)據(jù)的表示1.3 三維數(shù)據(jù)的表示2、 為什么要使用Numpy2.1、Numpy的ndarray具有廣播功能2.2 Numpy數(shù)組的性能比Python原生數(shù)據(jù)類型高3 ndarray的屬性和基本操作3.1 ndarray的基本屬性3.2 ndarray元素類型3.3 創(chuàng)建ndarray的方式3.4 ndarr...
摘要:爬取豆瓣閱讀提供方代碼中會有詳細(xì)的注釋關(guān)于也是在看教程和書以及視頻學(xué)習(xí),純種小白哈士奇的那種用到的庫爬蟲庫正則模塊寫模塊時(shí)間模塊庫偽裝瀏覽器的固定寫法也可以再加加個(gè)代理,也可以不加直接使用自己的地址代理西刺代理通過正則獲取內(nèi)容菜鳥 爬取豆瓣閱讀提供方 代碼中會有詳細(xì)的注釋 關(guān)于python也是在看教程和書以及視頻學(xué)習(xí),純種小白(哈士奇的那種) 用到的庫 urllib ????-> ...
摘要:消費(fèi)之后,多線程處理文件導(dǎo)出,生成文件后上傳到等文件服務(wù)器。前端直接查詢并且展現(xiàn)對應(yīng)的任務(wù)執(zhí)行列表,去等文件服務(wù)器下載文件即可。這客戶體驗(yàn)不友好,而且網(wǎng)絡(luò)傳輸,系統(tǒng)占用多種問題。拓展閱讀導(dǎo)出最佳實(shí)踐框架 產(chǎn)品需求 產(chǎn)品經(jīng)理需要導(dǎo)出一個(gè)頁面的所有的信息到 EXCEL 文件。 需求分析 對于 excel 導(dǎo)出,是一個(gè)很常見的需求。 最常見的解決方案就是使用 poi 直接同步導(dǎo)出一個(gè) exc...
閱讀 1671·2021-11-12 10:35
閱讀 1617·2021-08-03 14:02
閱讀 2687·2019-08-30 15:55
閱讀 2028·2019-08-30 15:54
閱讀 761·2019-08-30 14:01
閱讀 2429·2019-08-29 17:07
閱讀 2253·2019-08-26 18:37
閱讀 3033·2019-08-26 16:51