Excel中根据某一字段多行空值合并另一字段中的多行数据
1 背景
由于2022年中科院期刊分区出来后,需要对目前领域类的期刊重新进行收集和归类,目前收集到的文献存放在word中,具体如下(只截取部分期刊信息)

如果把信息直接复制粘贴到Excel中,小类分区字段中的内容如果是多个分区,就会占多个单元格

问题就出来了:解决按照大类和小类分区的筛选问题,即选择大类或者小类都可以快速实现分区的筛选
2 问题解决过程详细梳理
将excel文件加载到python中,系统会自动把多余的单元格用空值进行填充

解决问题的思路就是将空白的地方按照向前填充的方式,然后按照分组汇总依次把多行数据合并成为单行数据。首先解决空白数据填充问题,代码和执行结果如下

然后再解决分组合并数据多行转化为一行的问题,代码和执行结果如下(输出结果只截取部分)

接着把整个分组后的结果重新设置索引,并提取大区分类的编号转化为整型数值,代码和执行结果如下(输出结果只截取部分)

解决小区分类的编号提取问题:这里的思路是按照合并时候的中文分号;符号进行split()分割后提取第一个元素即为编号,但是首先对中文分号;符号是否存在进行判断,如果不存在直接就提取第一个元素就是编号,代码和执行结果如下(输出结果只截取部分)。

为了方便后续按照小区进行筛选,单独按照1-4区进行字段的提取,代码和执行结果如下(输出结果只截取部分)。

最后把数据保存到本地的Excel文件中。

打开该文件,最终结果解决问题。

全选后进入筛选模式(快捷键Ctrl A后Ctrl T),完美进入筛选界面

由于Excel文件易损坏,可以考虑把文件存放在数据库中后续如果更新期刊信息也可以进行数据的追加,数据的安全性也更高一些,代码和执行结果如下(需要现在Mysql数据库中创建一个safety and accident数据库)

数据库界面刷新后,出现期刊信息

直接借助数据库的筛选功能就可以进行分区的查找,比如按照大类1区进行期刊查找,输出结果如下

文章讲述了如何利用Python对Excel表格进行数据处理,包括填充空值、按字段合并多行、筛选及转换数据。最终,数据被存储到数据库中,以提高数据安全性并支持高效筛选。
1296

被折叠的 条评论
为什么被折叠?



