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基础教程之基本内置数据类型介绍
Feb 20 Python
Python文件和目录操作详解
Feb 08 Python
在Python中操作文件之seek()方法的使用教程
May 24 Python
利用Python进行数据可视化常见的9种方法!超实用!
Jul 11 Python
python scp 批量同步文件的实现方法
Jan 03 Python
python实现两张图片的像素融合
Feb 23 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
Mar 04 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
python开发入门——列表生成式
Sep 03 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
Nov 02 Python
Python更改pip镜像源的方法示例
Dec 01 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 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
2020年4月新番动漫目录 官方宣布4月播出的作品一览
2020/03/08 日漫
PHP UTF8编码内的繁简转换类
2009/07/20 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
扒一扒JavaScript 预解释
2015/01/28 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
python 不关闭控制台的实现方法
2011/10/23 Python
写了个监控nginx进程的Python脚本
2012/05/10 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
python实现网页自动签到功能
2019/01/21 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
keras 权重保存和权重载入方式
2020/05/21 Python
浅谈Python中的模块
2020/06/10 Python
golang/python实现归并排序实例代码
2020/08/30 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
西班牙在线光学:Visual-Click
2020/06/22 全球购物
物流仓储实习自我鉴定
2013/09/25 职场文书
学生生病请假条范文
2014/02/16 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏
Python编写冷笑话生成器
2022/04/20 Python