python按行拆分表格_使用pandas.dataframe.toexcel, groupby, ExcelWriter拆分Excel总表到分表, 按某列的值分类到分表的Python方法...

这篇博客介绍了如何使用Pandas读取Excel文件,特别是处理日期格式问题,以及如何按部门分类数据并分别保存到多个Excel文件中,避免覆盖原有数据。通过设置dtype参数指定列的读取格式,使用groupby和ExcelWriter实现分表操作。
摘要由CSDN通过智能技术生成

首先,我们先读取总表, 其中dtype可以指定某列读取的格式.

读取2020-07-27的格式日期时,输出到Excel文件日期会变为2020-07-27 00:00:00格式

我们可以使用date_parse参数指定处理函数, 如果格式复杂且有错误,这是一个好办法.

也可以使用datetime中的strftime和strptime来处理,

上诉两种办法都需要指定一个函数,也可以使用lambda

我这里不想处理日期格式,选择用字符串类型来读取.想要了解的可以参考别的文章,或者我可能勤奋以后会写(大概率不会)

dtype参数可以指定某列使用你想要的类型来读取

data = pandas.read_excel("总表.xls", dtype={"日期": str})

如果我们想要按照部门来分类,写入分表, 下面这种写法会覆盖原来的数据

data_departments = data.groupby("部门")

for department, data_department in data_departments:

data_department.to_excel("分类后的表.xls", department)

要想达到分表的效果且不会覆盖, 我们可以使用pandas.ExcelWriter

data_departments= data.groupby("部门")

writer1 = pandas.ExcelWriter("分类后的表.xls")

for department, data_department in data_departments:

data_department.to_excel(writer1, department)

writer1.save()

这样就可以达到我们想要的效果了

2020072714321754.png

如果我们想要按字段内容生成多个Excel表, 可以直接这样做

data_departments= data.groupby("地区")

for department, data_department in data_departments:

data_department.to_excel(f"{department}.xls")

效果是这样, fstring(format-string)的用法可以参考别的文章哦

20200727143536910.png

原文链接:https://blog.csdn.net/weixin_39433211/article/details/107610853

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值