编程语言
首页 > 编程语言> > Python自动化基础xlrd、xlutils对execl做表格拆分

Python自动化基础xlrd、xlutils对execl做表格拆分

作者:互联网

示范内容:把每行第一个单元格里的字符为大写A、大写B、大写C的数据存到新建的大写A、新建的大写B、新建的大写C工作簿中!


1.首先有这样一个execl文件,我把它放在execl_data文件夹里

 

 

 2.分两个函数写,第一个函数是拿到execl表格中的数据,第二个函数是储存

import xlrd
from xlutils.copy import copy

def read_first():
# 打开文件
    wb = xlrd.open_workbook('./execl_data/汇总数据01.xlsx')
# 拿到第一个工作簿
    sh = wb.sheet_by_index(0)
# 把A,B,C分别建3个工作簿并把数据存放进去
    raede = {'A':[],'B':[],'C':[]}
# 通过便利把数据存到列表里
    for r in range(sh.nrows):
        seelist = []
        for c in range(sh.ncols):
            see = sh.cell_value(r, c)
            seelist.append(see)
# 在这里做一个判断,把不同的Key所属的行存到所属的key下  
        if "A" in seelist:
            raede['A'].append(seelist)
        elif "B" in seelist:
            raede["B"].append(seelist)
        else:
            raede["C"].append(seelist)
    return raede

def save(rea):
    wb = xlrd.open_workbook('./execl_data/汇总数据01.xlsx')
    wb1 = copy(wb)
# 通过items把字典分开,key拿去建工作簿,v整合出来传入工作簿
    for k,v in rea.items():
        sh1 = wb1.add_sheet(k)
        for i1,v1 in enumerate(v):
            for i2,v2 in enumerate(v1):
                sh1.write(i1,i2,v2)
# 传入写完后保存到新的execl文件
    wb1.save('./execl_data/汇总数据a1.xlsx')
if __name__ == "__main__":
#这里执行函数
    rea = read_first()
    save(rea)

注意:我把完成后的execl文件也储存到execl_data文件夹里

 

 

3.执行完代码后查看execl文件效果

  

 

标签:execl,__,xlutils,Python,raede,大写,data,seelist
来源: https://www.cnblogs.com/wangruihuan/p/15379631.html