Python对Excel按列值筛选并拆分表格到多个文件的代码
作者:lanxuxml 发布时间:2022-01-18 12:58:46
标签:python,excel,表格,拆分
场景:集团中心下发本省数据时,并未按地市、业务拆分,现需要按地市、业务拆分并分发到地市。
本文利用Python的pandas包实现了以上场景。
注:本示例代码只实现按单列拆分,如果需要多列筛选拆分,请修改本示例中的filter_column_name与city_name_to_list,并多套一层循环。
now, show u the code:
# -*- coding: utf-8 -*-
"""
Created on Fri Nov 1 09:53:30 2019
@author: lanxuxml
应用场景:
包含多个sheet的Excel 需要按列筛选出来另存为其它文件
"""
import pandas as pd
split_excel_name_head = 'name_head_'
split_excel_name_tail = '_name_tail.xlsx'
xlsx_name = 'x:\xxxx\xxxxxxxx.xls'
#用来筛选的列名
filter_column_name = 'column_name'
#将该列去重后保存为list
df = pd.read_excel(xlsx_name)
city_names = df[filter_column_name].unique().tolist()
#获取所有sheet名
df = pd.ExcelFile(xlsx_name)
sheet_names = df.sheet_names
#不需要筛选的sheet名
sheet_not_filter_names = sheet_names[9:2]
for city_name in city_names:
city_excel_name = split_excel_name_head + str(city_name) + split_excel_name_tail
writer = pd.ExcelWriter(city_excel_name)
#将city_name转为list
#如果是两列筛选,在此处多套上一层循环
#如果是多列筛选,请修改代码使用多维list进行循环遍历
city_name_to_list = []
city_name_to_list.append(city_name)
for sheet_name in sheet_names:
tmp_df = pd.read_excel(xlsx_name, sheet_name=sheet_name)
if sheet_name not in sheet_not_filter_names:
#如果是两列筛选,在此处添加一行代码
tmp_sheet = tmp_df[tmp_df[filter_column_name].isin(city_name_to_list)]
else:
tmp_sheet = tmp_df
tmp_sheet.to_excel(excel_writer=writer, sheet_name=sheet_name, encoding="utf-8", index=False)
writer.save()
writer.close()
总结
以上所述是小编给大家介绍的Python对Excel按列值筛选并拆分表格到多个文件的代码网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/lanxuxml/article/details/102891127


猜你喜欢
- 我就废话不多说了,大家还是直接看代码吧!# -*- coding: utf-8 -*-"""Created o
- 当你需要一个简单易用的导航菜单得时候。CSS Menu是个不错的选择。相对于Flash/Javascript,他们小巧轻便,而且方便使用。当
- 一、insert语句insert用于向表中输入数据,其具体的语法结构如下。INSERT INTO 表名称 VALUES (值1, 值2,..
- 不得不说python的上手非常简单。在网上找了一下,大都是python2的帖子,于是随手写了个python3的。代码非常简单就不解释了,直接
- 每位SQL Server开发员都有自己的首选操作方法。我的方法叫做分子查询。这些是由原子查询组合起来的查询,通过它们我可以处理一个表格。将原
- 使用“发送测试电子邮件”对话框来测试使用特定配置文件发送邮件的能力。过程发送测试电子邮件1.使用对象
- 有些项目可能涉及到使用多个数据库的情况,方法很简单。1.在settings中设定DATABASE比如要使用两个数据库:DATABASES =
- 我有一个朋友,一直纠结一个问题:arguments接受的实参是一个列表,得到的是一个像数组一样的东西,于是他想实现无限参数求和,在遍历数组求
- python中shape()函数shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度。1、shap
- '''数据集:Mnist训练集数量:60000测试集数量:10000------------------------
- 今天要说的是一个高速视频流的采集和传输的问题,我不是研究这一块的,没有使用什么算法,仅仅是兴趣导致我很想搞懂这个问题.  
- mysql数据通过data文件恢复mysql磁盘文件被损坏,无法启动,能看到data文件,在没有备份的话如何复原?情景1:知道数据库中的表结
- 光学元件类平面反射镜是一种极为简单的模型,因为我们只需要考虑一个平面即可。但是除此之外的其他光学元件,可能会变得有些复杂:我们必须考虑光在入
- 目录1)连接请求的变量1、max_connections2、back_log3、wait_timeout和interative_timeou
- 长话短说,看这个 form 元素:<form method="post" action=&qu
- 在安装库的时候,一定要特别注意包之间的依赖性一、在Pycharm中直接安装第三方库1、打开Pycharm,点击左上角的File,点击Sett
- 软件版本:python 3.7.2selenium 3.141.0pycharm 2018.3.5具体实现流程如下,废话不多说,直接上代码:
- 本文简述了通过创建database link实现ORACLE跨数据库查询的方法1.配置本地数据库服务器的tnsnames.ora文件$vi
- 这篇文章主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 本文实例讲述了linux下通过go语言获得系统进程cpu使用情况的方法。分享给大家供大家参考。具体分析如下:这段代码通过linux的系统命令