Python对Excel按列值筛选并拆分表格到多个文件的代码

作者:lanxuxml 时间:2022-01-18 12:58:46 

场景:集团中心下发本省数据时,并未按地市、业务拆分,现需要按地市、业务拆分并分发到地市。

本文利用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

标签:python,excel,表格,拆分
0
投稿

猜你喜欢

  • Python学习之pip包管理工具的使用

    2023-07-24 11:01:57
  • Golang截取字符串方法示例讲解及对比

    2024-05-09 14:57:29
  • 使用php来实现网络服务

    2024-06-05 09:46:46
  • python实现堆和索引堆的代码示例

    2021-09-21 21:42:05
  • python样条插值的实现代码

    2022-05-11 16:04:05
  • Oracle字段根据逗号分割查询数据的方法

    2024-01-14 01:34:19
  • Go语言单链表实现方法

    2024-02-14 15:46:45
  • 浅谈Python中re.match()和re.search()的使用及区别

    2022-05-11 12:48:44
  • Python pandas常用函数详解

    2023-06-18 22:49:37
  • 如何利用python turtle绘图自定义画布背景颜色

    2021-08-02 17:28:49
  • Oracle排名函数(Rank)实例详解

    2024-01-21 16:44:34
  • MySQL中datetime时间字段的四舍五入操作

    2024-01-28 08:00:40
  • 如何解决springboot数据库查询时出现的时区差异问题

    2024-01-26 01:53:01
  • Python流行ORM框架sqlalchemy安装与使用教程

    2022-10-20 06:12:20
  • python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)

    2023-08-12 23:45:10
  • 使用Python操作FTP实现上传和下载的方法

    2023-03-09 20:49:51
  •  Python 匿名函数lambda 详情

    2022-07-30 12:37:39
  • Python基于Tkinter实现的记事本实例

    2021-12-30 09:25:17
  • JS实现点击表头表格自动排序(含数字、字符串、日期)

    2024-05-02 16:16:53
  • 小程序scroll-view组件实现滚动的示例代码

    2024-05-11 09:31:42
  • asp之家 网络编程 m.aspxhome.com