用Python将excel文件按列拆分为多个Excel

用Python将excel文件按列拆分为多个Excel

用到的库:pandas

方式1

# -*- coding: utf-8 -*-
"""
将excel文件按照单位名称,拆分成多个excel文件
sheet名:  人数计算
区分字段名:单位 A
"""

import pandas as pd

data = pd.read_excel("D:\data\文件拆分实验.xls", sheet_name='人数计算')

data.dropna(subset=['单位'], inplace=True)

rows = data.shape[0]  # 获取行数 shape[1]获取列数

department_list = []
department_list = list(data['单位'].drop_duplicates())#获取数据单位列,去重并放入列表

# 其他获取列表方法
# for i in range(rows):
#     temp = data['单位'][i]
#     if temp not in department_list:
#         department_list.append(temp)  # 将单位名称存入列表中

print(department_list)

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)

    new_df.to_excel(str(department) + "单位.xls", sheet_name=department, index=False)  # 将每个单位存成一个新excel

方式2

# -*- coding: utf-8 -*-
"""
将excel文件按照单位名称,拆分成多个excel文件
sheet名:  人数计算
区分字段名:单位
"""

import pandas as pd

data = pd.read_excel("D:\data\文件拆分实验.xls", sheet_name='人数计算')
#删除单位列的,空行数据
data.dropna(subset=['单位'], inplace=True)

# 第三步:获取 单位 列表并去重
department_list = list(data['单位'].drop_duplicates())  # 获取数据 单位 列,去重并放入列表
print(department_list)

# 第四步:按照类别分文件存放数据
for i in department_list:
    department = data[data['单位'] == i]
    department.to_excel('./' + str(i) + '单位.xlsx')

其他说明

1.原始数据若未进行清洗,读入的数据需要在代码中进行异常值处理,否则会引发其他错误。
2.pandas的nan值处理可以通过.dropna()进行代码内处置。

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值