Python对Excel按列值筛选并拆分表格到多个文件的代码


Posted in Python onNovember 05, 2019

场景:集团中心下发本省数据时,并未按地市、业务拆分,现需要按地市、业务拆分并分发到地市。

本文利用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按列值筛选并拆分表格到多个文件的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python 流程控制实例代码
Sep 25 Python
浅析使用Python操作文件
Jul 31 Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 Python
Numpy掩码式数组详解
Apr 17 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
May 28 Python
python高斯分布概率密度函数的使用详解
Jul 10 Python
python视频按帧截取图片工具
Jul 23 Python
python 实现单通道转3通道
Dec 03 Python
python3的UnicodeDecodeError解决方法
Dec 20 Python
Python 远程开关机的方法
Nov 18 Python
python里反向传播算法详解
Nov 22 Python
用python实现监控视频人数统计
May 21 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 #Python
Python socket模块ftp传输文件过程解析
Nov 05 #Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 #Python
Python socket模块方法实现详解
Nov 05 #Python
基于python3 的百度图片下载器的实现代码
Nov 05 #Python
Python hashlib模块加密过程解析
Nov 05 #Python
python set集合使用方法解析
Nov 05 #Python
You might like
PHP JWT初识及其简单示例
2018/10/10 PHP
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
MySQL最常见的操作语句小结
2015/05/07 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
python批量修改xml属性的实现方式
2020/03/05 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
戴森英国官网:Dyson英国
2019/05/07 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
师范应届生语文教师求职信
2013/10/29 职场文书
初中校园之声广播稿
2014/01/15 职场文书
大二自我鉴定
2014/01/31 职场文书
餐厅执行经理岗位职责范本
2014/02/26 职场文书
中学校庆方案
2014/03/17 职场文书
员工生日活动方案
2014/08/24 职场文书
农村文化建设标语
2014/10/07 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
python for循环赋值问题
2021/06/03 Python
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android