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中xrange用法分析
Apr 15 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
Dec 03 Python
解决pycharm界面不能显示中文的问题
May 23 Python
python处理数据,存进hive表的方法
Jul 04 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
python实现录屏功能(亲测好用)
Mar 02 Python
Python实时监控网站浏览记录实现过程详解
Jul 14 Python
利用python汇总统计多张Excel
Sep 22 Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 Python
Python初识逻辑与if语句及用法大全
Aug 07 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/11/23 PHP
php截取字符串函数分享
2015/02/02 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
jquery实现select选中行、列合计示例
2014/04/25 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
理解python正则表达式
2016/01/15 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
Python英文文章词频统计(14份剑桥真题词频统计)
2019/10/13 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
canvas简单连线动画的实现代码
2020/02/04 HTML / CSS
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
护士的岗位职责
2013/12/04 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
八一建军节活动方案
2014/02/10 职场文书
公司晚会主持词
2014/03/22 职场文书
企业授权委托书范本
2014/09/22 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL