Python对Excel按列值筛选并拆分表格到多个文件的代码
作者:lanxuxml 发布时间:2022-01-18 12:58:46
标签:python,excel,表格,拆分
场景:集团中心下发本省数据时,并未按地市、业务拆分,现需要按地市、业务拆分并分发到地市。
本文利用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按列值筛选并拆分表格到多个文件的代码网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/lanxuxml/article/details/102891127
0
投稿
猜你喜欢
- 本文实例讲述了Python实现的多叉树寻找最短路径算法。分享给大家供大家参考,具体如下:多叉树的最短路径:思想: &n
- 概要介绍mmpi,是一款使用python实现的开源邮件快速检测工具库,基于community框架设计开发。mmpi支持对邮件头、邮件正文、邮
- # -*- coding: utf8 -*- #! python print(repr("测试报警,xxxx是大猪头".
- 严正声明:本文仅限于技术讨论,严禁用于其他用途。基础知识socket通信模块:针对TCP/IP协议簇进行的程序封装,在Windows/Lin
- 如何做一个检索结果带链接的检索?具体代码和说明如下:<% data=request.form("search_da
- 阅读目录什么是设计模式单体模式:工厂模式:单例模式观察者模式(发布订阅模式)策略模式模板模式代理模式外观模式设计模式太多了,貌似有23种,其
- 这篇文章主要介绍了在SQL Server中处理空值时所涉及的3个问题:计数、使用空表值以及外键处理。用COUNT(*)处理空值大多数集合函数
- Python爬虫包 BeautifulSoup 递归抓取实例详解概要:爬虫的主要目的就是为了沿着网络抓取需要的内容。它们的本质是
- io.BytesIO简要介绍及示例io.BytesIO 是 Python 内置的一个 I/O 类,用于在内存中读写二进制数据。它的作用类似于
- 第一种方法:这个是删除单字段图片的代码。比较简单,因为图片字段已经预先存在数据库表的bookpic的字段里面了。 代码如下: <!-
- 本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件进行批量掩膜与批量重采样的操作。首先,我们来明确一下本文的具体需求。现有一个
- HTTP请求方法GET:请求指定的页面信息,并返回实体主体。HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头POS
- 同MongoDB,Redis这样的NoSQL数据库的复制相比,MySQL复制显得相当复杂!概述首先主服务器把数据变化记录到主日志,然后从服务
- 在运营或者对各种 SDK 或者 API 进行调试的时候,邮件功能基本上都会被使用到。在测试的时候,可能很多人都会使用 SMTP 或者自己的邮
- 本文实例讲述了Python Web框架之Django框架cookie和session用法。分享给大家供大家参考,具体如下:part 1 概念
- 本文实例讲述了Python编程实现输入某年某月某日计算出这一天是该年第几天的方法。分享给大家供大家参考,具体如下:#基于 Pyth
- 如下所示:import tensorflow as tfsess = tf.Session(config=tf.ConfigProto(lo
- 原文链接:https://blog.csdn.net/Fairy_Nan/article/details/105914203HDF也是一种自
- 计算机为数组分配一段连续的内存,从而支持对数组随机访问;由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基
- Python爬虫、数据分析、网站开发等案例教程视频免费在线观看https://space.bilibili.com/523606542Sel