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

首先,我们先读取总表, 其中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

你可能感兴趣的:(python按行拆分表格)