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按列值筛选并拆分表格到多个文件的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
Python将一个Excel拆分为多个Excel
本文实例为大家分享了Python将一个Excel拆分为多个Excel的具体代码,供大家参考,具体内容如下 原始文档如下图所示 将销售部门一.二.三科分别存为三个Excel 代码如下 # -*- coding: utf-8 -*- """ Created on Mon Jul 9 20:25:31 2018 @author: Lenovo """ import pandas as pd data = pd.read_excel("E:\d
-
python中使用xlrd、xlwt操作excel表格详解
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需.主要记录使用过程的常见问题及解决. python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可从这里下载https://pypi.python.org/pypi.下面分别记录python
-
Python读取Excel表格,并同时画折线图和柱状图的方法
今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后直接在DOS命令下输入pip install xlrd,便可以安装成功,如果还是不行,就输入Python -m pip install xlrd.后面会附上完整的代码和截图: 这行代码就是读取本地Excel文件的: data = xlrd.open_workbook(r'C:\\Users\\ASU
-
详解python中xlrd包的安装与处理Excel表格
一.安装xlrd 地址 下载后,使用 pip install .whl 安装即好. 查看帮助: >>> import xlrd >>> help(xlrd) Help on package xlrd: NAME xlrd PACKAGE CONTENTS biffh book compdoc formatting formula info licences sheet timemachine xldate xlsx FUNCTIONS count_records(fil
-
python实现数据写入excel表格
本文实例为大家分享了python数据写入excel表格的具体代码,供大家参考,具体内容如下 安装: xlsxwriter第三方库 code: #!/usr/bin/env/python #_*_coding:utf-8_*_ #Data:2017-08-13 #Auther:苏莫 #Link:http://blog.csdn.net/lingluofengzang #PythonVersion:python2.7 #filename:xlsx.py import sys # import os
-
Python第三方库xlrd/xlwt的安装与读写Excel表格
前言 相信大家都应该有所体会,在平时经常会遇到处理 Excel 表格数据的情况,人工处理起来实在是太麻烦了,我们可以使用 Python 来解决这个问题,我们需要两个 Python 扩展, xlrd 和 xlwt . xlrd和xlwt是Python的第三方库,所以是需要自己安装的,可以在python的官网https://pypi.python.org/pypi下载该模块来安装,也可以通过其他手段,比如easy_install或者pip,下面来看看详细的安装介绍与读写Excel表格的方法吧. 使用
-
Python读取Json字典写入Excel表格的方法
需求: 因需要将一json文件中大量的信息填入一固定格式的Excel表格,单纯的复制粘贴肯定也能完成,但是想偷懒一下,于是借助Python解决问题. 环境: Windows7 +Python2.7 +Xlwt 具体分析: 原始文件为json列表,列表中有多个字典,生成Excel文件需要将列表中的字典的键值按键对应排列,也就是说,所有为"XX"的键对应的值写在一列,且每个字典中的不同键的键值保证在同一行. 解决思路是,读取json文件,然后遍历字典的键和值,读完第一个字典并写入Excel
-
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 @a
-
python读取excel指定列数据并写入到新的excel方法
如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据--------------------------------- fileName="C:\\Users\\st\\Desktop\\test\\20170221131701.xlsx" bk=xlrd.open_workbook(fileName) shxrange=range(bk.nsheets) try: sh=bk.sheet
-
Python读取excel指定列生成指定sql脚本的方法
需求 最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到excel中,在用excel中写好的公式将指定的两列数据用update这样的语句替换掉. 例如: 有个A库,其中有两个A.01和A.02字段,需要将这两个字段替换到下面的sql语句中, update A set A.01 = 'excel第一列的值' where A.02 = 'excel第二列的值' 虽然excel中公式写好了,但是还需要将总计的那行复制粘贴到txt文档中,所以索性太麻烦,果断用Python写了一个自动化
-
Python读取Excel一列并计算所有对象出现次数的方法
第一种方法 import pandas as pd from collections import Counter data = '参赛信息.xlsx' data = pd.read_excel('参赛信息.xlsx') # 导入参赛信息 x_pandas_list = data[u'专业1'] # 专业情况 list = list(x_pandas_list) c = Counter(list) print(c) 输出形式 Counter({'自动化学院': 164, '高分子科学与工程学院'
-
Python读取excel文件中带公式的值的实现
在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值 但是用之前的读取方法进行读取的时候,返回值为空 import os import xlrd from xlutils.copy import copy file_path = os.path.abspath(os.path.dirname(__file__)) # 获取当前文件目录 print(file_path) root_path = os.path.dirname(file_path) # 获取文件上级目录 data
-
python按列索引提取文件夹内所有excel指定列汇总(示例代码)
目录 前言 一.情景描述 二.python汇总 总结 前言 一.情景描述 情景一:文件夹内有很多excel数据,包含的数据格式一样,我们需要提取每个文件中指定的几列数据汇总到一个文件中(因为是按列索引提取,所以列的顺序可以不一样) 汇总后: 二.python汇总 注意事项: 文件所在文件夹内只能有运行文件.py,和需要汇总的文件,不能有其它文件夹,否则会出现运行错误: 运行第二遍时需要将第一遍运行得到的结果文件res.xlsx删除,否则也会出现运行错误: 代码如下(示例): # -*- codi
-
Python从Excel中读取日期一列的方法
如下所示: import xlrd import datetime file=u"伏特加.xls"#注意读中文文件名稍微处理一下 data=xlrd.open_workbook(file) table = data.sheet_by_index(0)#按照索引读Excel文件 colContent=table.col_values(1)#读某一列,日期在第二列 nrows=table.nrows #行数 print nrows ncols = table.ncols#列数 print
-
用python修改excel表某一列内容的操作方法
想想你在一家公司里做表格,现在有一个下面这样的excel表摆在你面前,这是一个员工每个月工资的表, 现在假设,你要做的事情,是填充好后面几个月每个员工的编号,并且给员工随机生成一个2000到50000之间的随机数作为该月的工资,能拿多少全靠天意,你为了锻炼自己的python能力决定写一个相关的代码: 1 库引入 首先要引入库函数,要修改excel内容首先需要有openpyxl这个库,要生成随机数就要有random这个库 import openpyxl import random 2 提取cell
-
Python excel合并居中值相同的单元格实例代码
目录 前言 处理前的单元格 代码分解讲解 总结 前言 这里要说明一下,本文包含的代码其中一部分并不是自己写的,是我找了很多文章拼凑出来的,比如如何找相同内容的单元格.怎么合并.怎么居中等等.出处许多,这边就不一个个放链接了.就当做一份自己写的学习笔记供大家参考. 本文结构 是分段讲解代码,文末放全部的代码 处理前的单元格 -----------------------> 可以看到有一些名字是重复的,我们现在要做的就是把这些重复的名字合并居中,程序执行完的效果如图. (大家可能会说,这不是多此
-
对Python中DataFrame选择某列值为XX的行实例详解
如下所示: #-*-coding:utf8-*- import pandas as pd all_data=pd.read_csv("E:/协和问答系统/SenLiu/熵测试数据.csv") #获取某一列值为xx的行的候选列数据 print(all_data) feature_data=all_data.iloc[:,[0,-1]][all_data[all_data.T.index[0]]=='青年'] print(feature_data) 实验结果如下: "C:\Pro
随机推荐
- 如何用FileSystemObject组件来做一个站内搜索?
- XML 增、删、改和查示例
- 老生常谈js数据类型
- 正则表达式检测用户输入的email地址是否合法
- PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
- Python简单的制作图片验证码实例
- ASP返回某年总共有多少天的代码
- 关于webpack代码拆分的解析
- JS禁止查看网页源代码的实现方法
- Android仿淘宝物流追踪的实例代码
- Python中防止sql注入的方法详解
- Apache禁止域名恶意指向网站的方法
- ASP.NET在底层类库中获取Session C#类中获取Session 原创
- 基于EasyUI的基础之上实现树形功能菜单
- Jqgrid之强大的表格插件应用
- 无缝滚动js代码通俗易懂(自写)
- 基于一个简单定长内存池的实现方法详解
- 深入c# Func委托的详解
- Java实现判断浏览器版本与类型简单代码示例
- Python 3.7新功能之dataclass装饰器详解