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