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查询mysql中文乱码问题
Nov 09 Python
python实现的文件同步服务器实例
Jun 02 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python3 处理JSON的实例详解
Oct 29 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
Python数据集切分实例
Dec 08 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
Oct 17 Python
Python爬虫爬取博客实现可视化过程解析
Jun 29 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
Python sqlalchemy时间戳及密码管理实现代码详解
Aug 01 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 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 和 XML: 使用expat函数(三)
2006/10/09 PHP
收藏的一个php小偷的核心程序
2007/04/09 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
python远程登录代码
2008/04/29 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
你的自行车健身专家:FaFit24
2016/11/16 全球购物
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
大学毕业感言
2014/01/10 职场文书
网上开商店的创业计划书
2014/01/19 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
2015毕业设计工作总结
2015/07/24 职场文书