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使用PythonMagick将jpg图片转换成ico图片的方法
Mar 26 Python
Python的Django框架中的数据过滤功能
Jul 17 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
Django 登陆验证码和中间件的实现
Aug 17 Python
Python模拟简单电梯调度算法示例
Aug 20 Python
使用pandas实现csv/excel sheet互相转换的方法
Dec 10 Python
numpy基础教程之np.linalg
Feb 12 Python
pandas 时间格式转换的实现
Jul 06 Python
Python字符串中添加、插入特定字符的方法
Sep 10 Python
Python paramiko使用方法代码汇总
Nov 20 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 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
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
js添加千分位的实现代码(超简单)
2016/08/01 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
Solaris操作系统的线程机制
2012/12/23 面试题
学生励志演讲稿
2014/01/06 职场文书
学校运动会霸气口号
2014/06/07 职场文书
学校火灾防控方案
2014/06/09 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
教师考核表个人总结
2015/02/12 职场文书
校友回访母校寄语
2015/02/26 职场文书
离婚起诉书范本
2015/05/18 职场文书
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android