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