Pandas根据筛选条件对指定excel列进行筛选!神器!
这两天老师要求筛选一下最近几年学院发表的文章,从图书馆那要了份数据量较大的excel,将该excel分成学生文章、老师文章两份excel,以第一作者为区分,B站学习法稍微补了补python操作excel,看到pandas就顺手用一下了……大佬勿喷,仅仅是稍微学了一下。
导入需要筛选的excel和筛选条件
import pandas as pddf = pd.read_excel('D:/py_project/datafenxi/scut.xls',sheet_name='savedrecs') ji_he = {'name1','name2','name3',任意多个name}
这里的ji_he是提供的学院所有老师的姓名,与下面的要筛选的表格A做匹配,标记出A中一作为老师的论文。那剩下的未标记就是学生。
要筛选的表格A
excel内容大概长这样(对不起!杰伦力宏紫棋):
这里一作就是杰伦,力宏,和紫棋。
思路
1、由于我们只要第一作者,所以对要筛选的表格A的Author Full Names列进行遍历,按;分割成数组取第0个元素,因为拿到的表格一作的格式千奇百怪,还有-等等莫名字符,所以稍微改了下。
2、拿到的每行A表格的一作名字,与指定老师名单做匹配,True则记录下该索引ID,并给值teacher创建sheet1
3、使用merg()将要筛选的表格A与sheet1做匹配整合成一张表。
while i < len(df):a = df.loc[i, 'Author Full Names'] # 取出Author Full Names列的第i行a1 = str(a).split(';')[0].replace('-', '') # 筛选第i行AFN列的内容,按;分割成数组取第0个元素,删除-字符返回a1# print('q', a1)if a1 in ji_he:print('qq', i) # 获取匹配的索引df3.loc[i] = ['teacher'] # 给匹配出来的一作老师标上teacherdf3.to_excel("D:/py_project/datafenxi/outputscut.xls") # 输出为新的列表i += 1
这里我们可以拿到一个根据A匹配出来的一作是老师身份的索引表sheet1,like this:
然后用merge()根据ID将两份表拼成一份完整表,就基本完成需求了(分成两份表我直接选择excel做透视了,又懒又菜说的就是我)
import pandas as pdsheet1 = pd.read_excel('D:/py_project/datafenxi/scut.xls', sheet_name='savedrecs', index_col='ID') sheet2 = pd.read_excel('D:/py_project/datafenxi/scut.xls', sheet_name='Sheet1', index_col='ID')table = sheet1.merge(sheet2, how='left', on='ID') table.to_excel("D:/py_project/datafenxi/outputfinal.xls") print(table)
结果
这部分语法可以参考B站视频 Link,记得把两个sheet放在一个excel里面(其实我看到了其他大佬直接将多个sheet输出在一个excel,但我没时间改了,之后看看。)
以下是最终结果,表格最右边区分身份:teacher,空为student。
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
python免费学习资料以及群交流解答点击即可加入
Pandas根据筛选条件对指定excel列进行筛选!神器!相关推荐
- pandas 根据筛选条件对指定excel列进行筛选
pandas 根据筛选条件对指定excel列进行筛选 导入需要筛选的excel和筛选条件 要筛选的表格A 思路 结果 这两天老师要求筛选一下最近几年学院发表的文章,从图书馆那要了份数据量较大的exce ...
- R语言dataframe计算满足筛选条件的行的个数(筛选满足条件的数据行并计数):类似于excel的countif函数
R语言dataframe计算满足筛选条件的行的个数(筛选满足条件的数据行并计数):类似于excel的countif函数 目录
- 学python看什么书好1002无标题-如何使用pandas读取txt文件中指定的列(有无标题)
最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...
- python按列读取txt文件_如何使用pandas读取txt文件中指定的列(有无标题)
最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...
- python读取指定路径txt文件-如何使用pandas读取txt文件中指定的列(有无标题)
最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...
- python 按列名称筛选_python中实现excel的高级筛选
一 Excel里的高级筛选功能,着实令人惊叹,VBA里实现起来也相对简单,就是手动操作的代码化,设置好三项参数,便可以随取随用,效果稳准快. 二 在python 中实现同样的目的,更为直白爽快,不信你 ...
- [Pandas] 相同分组条件下的特定列除第一行以外的值为空
美图欣赏2022/07/16 在最近的需求开发中,针对原有逻辑进行开发,导出的Excel数据如下所示: 提示: 以上数据仅为Demo数据,其中site和material分组后,如果两者数值分为同一组别 ...
- input=file 浏览时只显示指定excel文件,筛选特定文件类型
https://www.cnblogs.com/quitpoison/p/9765974.html
- python对excel进行筛选-python如何实现excel按颜色筛选功能
离岛 2020-07-09 09:37 已采纳 不太了解具体需求,提供一些示例代码和思路供你参考: 整体思路:首先已知excel中的颜色值,根据编码实现颜色筛选的功能 示例: 1.首先安装pip in ...
最新文章
- java切面类整合_SpringBoot2.x【五】整合AOP切面编程
- 时间有限我长话短说:3060显卡免费送啦!
- windows下的cmd命令(全面)
- 【Accelerated C++】重点回顾
- Net.Core导入EXCel文件里的数据
- CodeGlance
- 一篇文章指明做JavaWeb项目需要的前置知识+完整项目初解读(萌新必看,十分友好)
- 开发 Windows 8 Bing地图应用(4)
- html做table某一列的合计,Jquery、js计算table列合计
- WIFI内部通话系统技术解决方案
- C# 常用路径获取方式
- 单片机开发需要的工具以及软件有哪些
- TMS320F28335之外部中断和自定义中断
- Oracle项目管理系统之合同控制概述
- android 收税计算器,个人所得税计算器2021
- linux nfs acl 特定ip,Linux NFS配置
- CentOS 6.8 Local time zone must be set--see zic manual page
- SAM4E单片机之旅——21、DMAC之USART回显
- Swift表格Lxr
- 识别不同域名访问不同主页
热门文章
- element el-table 展开行隐藏小箭头
- 用matlab绘制惠特尼伞形曲面,伞形曲面结构织物的设计与织造
- Android:自定义Shape 加上阴影shadow之方法
- 护士中级职称需要考英语和计算机吗,护士必须考英语四级吗
- 英镑大写_您也可以为10英镑建立一个出色的网站...
- 【软考中级信安】第二章--网络攻击原理与常用方法
- python列表删除元素
- sublime text 4 4126 注册 激活
- 通过元宇宙远程上班有的搞吗| 随着“元宇宙”这个概念愈发火热,我们有机会借助它完成在家上班的最终目标吗?
- python对excel进行筛选-python如何实现excel按颜色筛选功能