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的else子句使用指南
Feb 27 Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 Python
python xlsxwriter创建excel图表的方法
Jun 11 Python
实践Vim配置python开发环境
Jul 02 Python
记一次python 内存泄漏问题及解决过程
Nov 29 Python
Python Cookie 读取和保存方法
Dec 28 Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
Python编写nmap扫描工具
Jul 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:风雨欲来 路在何方?
2006/10/09 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
基于javascript实现句子翻牌网页版小游戏
2016/03/23 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
详解python深浅拷贝区别
2019/06/24 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
Django学习之文件上传与下载
2019/10/06 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
linux下进程间通信的方式
2014/12/23 面试题
销售会计工作职责
2013/12/02 职场文书
加工操作管理制度
2014/01/19 职场文书
房屋公证委托书
2014/04/03 职场文书
学习礼仪心得体会
2014/09/01 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
Python中rapidjson参数校验实现
2021/07/25 Python
CentOS MySql8 远程连接实战
2022/04/19 MySQL