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二分法实现实例
Nov 21 Python
python实现批量改文件名称的方法
May 25 Python
python使用str & repr转换字符串
Oct 13 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
使用django-crontab实现定时任务的示例
Feb 26 Python
详解Python字符串切片
May 20 Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
Python实现图片添加文字
Nov 26 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
PyQt5实现简单的计算器
May 30 Python
Python 忽略文件名编码的方法
Aug 01 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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
jquery异步调用页面后台方法‏(asp.net)
2011/03/01 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
php中给js数组赋值方法
2014/03/10 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
Python isinstance判断对象类型
2008/09/06 Python
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
python类的继承实例详解
2017/03/30 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
法学专业个人求职信
2013/09/26 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
装饰活动策划方案
2014/02/11 职场文书
数控专业自荐书范文
2014/03/16 职场文书
中学校庆方案
2014/03/17 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
个人年度总结报告
2015/03/09 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL