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实现文件操作帮助类的示例代码
2023-02-14 16:46:57
30万条数据,搜索文本字段的各种方式对比
2010-05-02 10:17:00
Python控制浏览器自动下载歌词评论并生成词云图
2022-04-17 11:24:56
如何把一长串数字分位显示?
2009-11-06 14:01:00
Flask web开发处理POST请求实现(登录案例)
2022-03-06 09:34:13
鼠标实现图片的渐有渐无
2013-06-30 02:49:10
python ConfigParser库的使用及遇到的坑
2021-08-13 05:45:23
從無到有實現一個xml數據庫登錄驗証
2008-09-05 17:12:00
Python实现小数转化为百分数的格式化输出方法示例
2023-07-15 05:58:15
Python中的defaultdict模块和namedtuple模块的简单入门指南
2022-01-21 07:10:20
Bootstrap实现圆角、圆形头像和响应式图片
2023-08-12 07:16:59
Js sort排序使用方法
2023-10-19 10:20:55
python str()如何将参数转换为字符串类型
2022-04-28 17:30:36
asp任何取得多个表单的值
2008-04-15 15:31:00
python第三方库pygame的使用详解
2023-07-21 13:27:19
python sys,os,time模块的使用(包括时间格式的各种转换)
2021-02-08 02:31:33
用vue.js组件模拟v-model指令实例方法
2022-04-16 10:12:23
python程序的打包分发示例详解
2023-09-26 15:25:27
numpy中的converters和usecols用法详解
2021-01-23 18:29:29
python调用摄像头拍摄数据集
2021-08-12 10:25:22