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中django框架通过正则搜索页面上email地址的方法
Mar 21 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
python自动翻译实现方法
May 28 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
对python实现模板生成脚本的方法详解
Jan 30 Python
原生python实现knn分类算法
Oct 24 Python
python的scipy实现插值的示例代码
Nov 12 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
python 实现任务管理清单案例
Apr 25 Python
Python如何实现的二分查找算法
May 27 Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 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 Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
python中hashlib模块用法示例
2017/10/30 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
Python 函数基础知识汇总
2018/03/09 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
在python中使用nohup命令说明
2020/04/16 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
宣传普通话标语
2014/06/27 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
英语教师个人工作总结
2015/02/09 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
安全第一课观后感
2015/06/18 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书