这两天老师要求筛选一下最近几年学院发表的文章,从图书馆那要了份数据量较大的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列进行筛选!神器!相关推荐

  1. pandas 根据筛选条件对指定excel列进行筛选

    pandas 根据筛选条件对指定excel列进行筛选 导入需要筛选的excel和筛选条件 要筛选的表格A 思路 结果 这两天老师要求筛选一下最近几年学院发表的文章,从图书馆那要了份数据量较大的exce ...

  2. R语言dataframe计算满足筛选条件的行的个数(筛选满足条件的数据行并计数):类似于excel的countif函数

    R语言dataframe计算满足筛选条件的行的个数(筛选满足条件的数据行并计数):类似于excel的countif函数 目录

  3. 学python看什么书好1002无标题-如何使用pandas读取txt文件中指定的列(有无标题)

    最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...

  4. python按列读取txt文件_如何使用pandas读取txt文件中指定的列(有无标题)

    最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...

  5. python读取指定路径txt文件-如何使用pandas读取txt文件中指定的列(有无标题)

    最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...

  6. python 按列名称筛选_python中实现excel的高级筛选

    一 Excel里的高级筛选功能,着实令人惊叹,VBA里实现起来也相对简单,就是手动操作的代码化,设置好三项参数,便可以随取随用,效果稳准快. 二 在python 中实现同样的目的,更为直白爽快,不信你 ...

  7. [Pandas] 相同分组条件下的特定列除第一行以外的值为空

    美图欣赏2022/07/16 在最近的需求开发中,针对原有逻辑进行开发,导出的Excel数据如下所示: 提示: 以上数据仅为Demo数据,其中site和material分组后,如果两者数值分为同一组别 ...

  8. input=file 浏览时只显示指定excel文件,筛选特定文件类型

    https://www.cnblogs.com/quitpoison/p/9765974.html

  9. python对excel进行筛选-python如何实现excel按颜色筛选功能

    离岛 2020-07-09 09:37 已采纳 不太了解具体需求,提供一些示例代码和思路供你参考: 整体思路:首先已知excel中的颜色值,根据编码实现颜色筛选的功能 示例: 1.首先安装pip in ...

最新文章

  1. java切面类整合_SpringBoot2.x【五】整合AOP切面编程
  2. 时间有限我长话短说:3060显卡免费送啦!
  3. windows下的cmd命令(全面)
  4. 【Accelerated C++】重点回顾
  5. Net.Core导入EXCel文件里的数据
  6. CodeGlance
  7. 一篇文章指明做JavaWeb项目需要的前置知识+完整项目初解读(萌新必看,十分友好)
  8. 开发 Windows 8 Bing地图应用(4)
  9. html做table某一列的合计,Jquery、js计算table列合计
  10. WIFI内部通话系统技术解决方案
  11. C# 常用路径获取方式
  12. 单片机开发需要的工具以及软件有哪些
  13. TMS320F28335之外部中断和自定义中断
  14. Oracle项目管理系统之合同控制概述
  15. android 收税计算器,个人所得税计算器2021
  16. linux nfs acl 特定ip,Linux NFS配置
  17. CentOS 6.8 Local time zone must be set--see zic manual page
  18. SAM4E单片机之旅——21、DMAC之USART回显
  19. Swift表格Lxr
  20. 识别不同域名访问不同主页

热门文章

  1. element el-table 展开行隐藏小箭头
  2. 用matlab绘制惠特尼伞形曲面,伞形曲面结构织物的设计与织造
  3. Android:自定义Shape 加上阴影shadow之方法
  4. 护士中级职称需要考英语和计算机吗,护士必须考英语四级吗
  5. 英镑大写_您也可以为10英镑建立一个出色的网站...
  6. 【软考中级信安】第二章--网络攻击原理与常用方法
  7. python列表删除元素
  8. sublime text 4 4126 注册 激活
  9. 通过元宇宙远程上班有的搞吗| 随着“元宇宙”这个概念愈发火热,我们有机会借助它完成在家上班的最终目标吗?
  10. python对excel进行筛选-python如何实现excel按颜色筛选功能