上一篇介绍的是使用VBA的方法,这一篇我来分享使用Python如何完成这个任务。

电脑桌面上有一个3万多行的Excel文件,需要按机构名称拆分。

Python环境以及Pandas库的安装方法,不是本文讨论的范围,在此略过。

将一个Excel工作表拆分成多个Excel文件

import pandas as pd
# 待拆分的Excel文件位置
file = r"c:\users\mo\desktop\20180430.xlsx"
# 拆分后的文件存放位置
result = r"c:\users\mo\desktop\"
# 读取待拆分的Excel文件 
df = pd.read_excel(file)
# 获取拆分条件:去重
jg_list = df['机构名称'].unique()
# 按拆分条件分别保存新的Excel文件
for jg in jg_list:
    child_wb = df[df['机构名称'] == jg]
    child_wb.to_excel(result + jg + '.xlsx', index=False)
print('拆分完成!')

将一个Excel工作表拆分成多个工作表

import pandas as pd
# 待拆分的Excel文件位置
file = r"c:\users\mo\desktop\20180430.xlsx"
# 拆分后的文件存放位置
result = r"c:\users\mo\desktop\"
# 读取待拆分的Excel文件 
df = pd.read_excel(file)
# 获取拆分条件:去重
jg_list = df['机构名称'].unique()
# 新建一个工作薄
new_wb = pd.ExcelWriter(result + '拆分表.xlsx')
# 按拆分条件分别保存到“拆分表”的各个sheet中
for jg in jg_list:
    child_wb = df[df['机构名称'] == jg]
    child_wb.to_excel(new_wb, index=False, sheet_name=jg)
new_wb.save()

从代码行数来看,Python版的明显简洁很多,可读性也很强,但通用性较差,必须安装Python环境,不像VBA版,只要装了Excel就能用。

作为一个经常跟数据打交道的人,越来越感觉到Python的魅力与强大了,继续加强学习!

标签: Excel, Python, Pandas

添加新评论