天天看点

python按某列拆分excel表格_根据excel表格中的某一列内容,使用python将其拆分成多个excel表格...

"""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')