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 with statement 进行文件操作指南
Aug 22 Python
python的类变量和成员变量用法实例教程
Aug 25 Python
在Python的Django框架中实现Hacker News的一些功能
Apr 17 Python
浅谈Python单向链表的实现
Dec 24 Python
Python探索之静态方法和类方法的区别详解
Oct 27 Python
Python之list对应元素求和的方法
Jun 28 Python
查看python下OpenCV版本的方法
Aug 03 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
Python二叉搜索树与双向链表转换算法示例
Mar 02 Python
python 缺失值处理的方法(Imputation)
Jul 02 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
Django中和时区相关的安全问题详解
Oct 12 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对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
深入研究React中setState源码
2017/11/17 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
nodejs实现用户登录路由功能
2019/05/22 NodeJs
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
理解Python中的类与实例
2015/04/27 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
pytorch permute维度转换方法
2018/12/14 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
什么是Python中的匿名函数
2020/06/02 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
英国女士家居服网站:hush
2017/08/09 全球购物
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
标准毕业生自荐信范文
2013/11/04 职场文书
Android自定义ScrollView实现阻尼回弹
2022/04/01 Java/Android