"""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 inrange(sheet.nrows)]
good_lists={}#根據第r[n]列資料進行分割
for r inrows:#因為我們是根據商品名稱來切分,商品名在第三列。是以這裡是r[2]
if r[2] not ingood_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 inlst:#逐行寫入
col_idx =0for v innew_r:
ws.write(row_idx,col_idx,v)
col_idx= col_idx + 1row_idx= row_idx+1
#儲存的檔案名為商品,好分辨切分出來的excel屬于哪和商品
wb.save('G:/部落格園學習筆記(python)/python操作Excel/goods/'+good+'.xlsx')