利用openpyxl 把一个sheet表拆分成多个excel文件

        本章介绍openpyxl 的应用——把一个sheet表拆分成多个excel文件。用openpyxl比较麻烦,建议用pandas,用openpyxl来练习是没有问题的。和上一篇一样,同一把数据先转为字典,然后根据键值对分别创建不同班级的文件。

import openpyxl

file = openpyxl.load_workbook(r"D:\临时\python试验\openpyxl\把sheet拆分成多个文件.xlsx")
sheet = file['Sheet1']

d = {}
for row in sheet.iter_rows(2,sheet.max_row,1,sheet.max_column,values_only=True):
    row_ls = list(row)
    jian = row_ls[0]
    zhi = row_ls[1:]
    d[jian] = d.get(jian,[]) + [zhi]
    
for key,value in d.items():
    f = openpyxl.Workbook()
    st = f.active        # 获取活跃工作表,即创建f工作簿时默认产生的Sheet表
    for n_row in value:
        st.append(n_row)
    road = f'D:\临时\python试验\openpyxl\ls存放\{key}.xlsx'
    f.save(road)         # 保存
    f.close()            # 关闭f,释放内存

        和前几篇相比,只是操作改变一点点,思路不一样而已,没有过多的难点,唯一难点就是 d[jian] = d.get(jian,[]) + [zhi] 这行代码,如果你理解到了,那么你对python是非常熟练了。

        本文excel文件:链接:https://pan.baidu.com/s/1_WV4ja_I49jZpEcF697LzQ?pwd=d9bm 
提取码:d9bm

猜你喜欢

转载自blog.csdn.net/m0_71559726/article/details/130372760