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

本文介绍使用Python和pandas库将一个Excel文件按指定列拆分为多个Excel文件的两种方法。第一种方法通过循环遍历数据并手动创建新的DataFrame,第二种方法则利用条件筛选直接生成新的DataFrame。文章还提供了代码示例和注意事项。
部署运行你感兴趣的模型镜像

用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()进行代码内处置。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值