原始表格如下:

引入的模塊如下:
pip install xlrd
pip install xlwt

運行結果:

打開表格檢查:

源碼如下:
"""python根據某一列內容拆分成多個excel""" import xlrd #對xls等excel文件的讀取 import xlwt #對xls等excel文件的寫入 workbook = xlrd.open_workbook(r"G:/博客園學習筆記(python)/python操作Excel/model.xlsx") #打開excel sheet = workbook.sheet_by_index(0)# 通過索引獲取xls文件第0個sheet # 讀取列,從0到第4列 從0到第n列 rows = [sheet.row_values(row,0,4) for row in range(sheet.nrows)] good_lists = {} # 根據第r[n]列數據進行分割 for r in rows: #因為我們是根據商品名稱來切分,商品名在第三列。所以這里是r[2] if r[2] not in good_lists: good_lists[r[2]] = [] good_lists[r[2]].append(r) for (good, lst) in good_lists.items(): #這里的good存的是商品 wb = xlwt.Workbook() #新建sheet ws = wb.add_sheet(good) #這里先寫入表頭 ws.write(0,0,'包號') ws.write(0,1,'數量') ws.write(0,2,'名稱') ws.write(0,3,'序號') row_idx = 1 for new_r in lst: #逐行寫入 col_idx = 0 for v in new_r: ws.write(row_idx,col_idx,v) col_idx = col_idx + 1 row_idx = row_idx+1 #保存的文件名為商品,好分辨切分出來的excel屬於哪和商品 wb.save('G:/博客園學習筆記(python)/python操作Excel/goods/'+good+'.xlsx')
