这两天老师要求筛选一下最近几年学院发表的文章,从图书馆那要了份数据量较大的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. 埃森哲报告:2017年数字化浪潮下的医疗行业五大趋势
  2. 谈判专家(东方化改题+懒得看标程)
  3. 基于android7.1+msm8937读取ADC采样值
  4. Java反射机制和动态代理实例
  5. 20个很酷的CSS3导航菜单制作教程
  6. 引入宽字符error: converting to execution character set: Invalid or incomplete multibyte or wide character
  7. 服务器的安装文件,服务器存储安装文件
  8. 设置共享文件夹,samba和chmod到底谁的权限大
  9. Windows Server 2008 R2托管服务账户(MSA)的功能
  10. 北大AI第八讲 李航 自然语言处理的现实与挑战
  11. 计算机无法进系统咋办,详解电脑无法进入系统怎么办
  12. Linux虚拟文件系统(内核初始化一)
  13. 【excel】开启了循环引用怎么关闭
  14. 查询数据库表数据量大小
  15. 使用jQuery用键盘去控制图片移动
  16. OpenGL 实验一 绘制简单图形
  17. raid, scsi_host pics
  18. 千万别在微社区太投入
  19. virsh的详细命令解析
  20. Ubuntu系统在终端查看一些软硬件版本或文件大小的指令!

热门文章

  1. 16进制和byte[]转换工具类
  2. 关于日期格式的处理的小知识
  3. 2023年燕麦行业现状及前景:燕麦市场需求稳定上升
  4. linux 硬盘盘符乱了,双硬盘盘符错乱,win10盘符错乱
  5. JQ禁止重复动画效果
  6. Java期末复习题 超级无敌全
  7. Java—代码块详解
  8. web前端学习笔记(三)
  9. Docker安装部署,最详细教程
  10. 解决密码框显示和掩藏密码