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通过get,post方式发送http请求和接收http响应的方法
May 26 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
python用户管理系统
Mar 13 Python
python实现简单http服务器功能
Sep 17 Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 Python
关于Python内存分配时的小秘密分享
Sep 05 Python
将自己的数据集制作成TFRecord格式教程
Feb 17 Python
使用Python打造一款间谍程序的流程分析
Feb 21 Python
后端开发使用pycharm的技巧(推荐)
Mar 27 Python
浅谈matplotlib默认字体设置探索
Feb 03 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应用程序来获取Web服务器的状态信息
2006/10/09 PHP
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
Python range与enumerate函数区别解析
2020/02/28 Python
python怎么删除缓存文件
2020/07/19 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
linux面试相关问题
2013/04/28 面试题
数学检讨书1000字
2014/02/24 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
2014年心理健康教育工作总结
2014/12/06 职场文书
出生证明格式
2015/06/15 职场文书
篮球赛新闻稿
2015/07/17 职场文书
教师研修随笔感言
2015/11/18 职场文书