原始文档如下图所示

将销售部门一、二、三科分别存为三个Excel

代码如下

# -*- coding: utf-8 -*-
"""
Created on Mon Jul  9 20:25:31 2018

@author: Lenovo
"""

import pandas as pd

data = pd.read_excel("E:\data1.xls")
rows = data.shape[0]  # 获取行数 shape[1]获取列数
department_list = []

for i in range(rows):
    temp = data["销售部门"][i]
    if temp not in department_list:
        department_list.append(temp)  # 将销售部门的分类存在一个列表中

for department in department_list:
    new_df = pd.DataFrame()
    for i in range(0, rows):
        if data["销售部门"][i] == department:
            new_df = pd.concat([new_df, data.iloc[[i], :]], axis=0, ignore_index=True)

    # 上面的循环效率太低了,这么做太蠢了,其实可以用pandas的条件筛选
    new_df = data[data["销售部门"] == department]
    # 如果多条件筛选,new_df = data[(data["销售部门"] == department)&()&()] 括号里写条件用 & 连起来
    
    new_df.to_excel(str(department) + ".xls", sheet_name=department, index=False)  # 将每个销售部门存成一个新excel

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐