python中excel数据分组处理

1.场景描述

因文本相似性热度统计(python版)需求中要根据故障类型进行分组统计,需要对excel进行分组后再分词统计,简单记录下,有需要的朋友可以直接拿走,不客气!

2.解决方案

采用pandas包首先进行分组,然后获取具体明细再进行分词处理(分词处理这里就不展开了),只介绍下python下excel分组,然后对具体明细进行处理。

2.1 完整代码

import pandas as pd

if __name__ == '__main__':
    inputfile = '软件老王-source.xlsx'
    data = pd.read_excel(inputfile)
    grp1 = data.groupby('待分类列')
    rcount = 1
    for name, group in grp1:
        print(group)
        name = name.replace('\n', '').replace('/', '')
        for i in range(len(group)):
            row = group.iloc[i].values  # 返回一个list
            cell = row[1]
            if cell is None:
                continue
            if not isinstance(cell, str):
                continue
            item = cell.strip('\n\r').split('\t')
            string = item[0]
            if string is None or len(string) == 0:
                continue
            else:
                print('这里获取group后明细值,软件老王可以单独处理,类别:' +name + '具体值:' + string)

2.2 执行效果

 待分类列      原因
0  软件老王1  主机不能加电
1  软件老王1  有时不能加电
2  软件老王1    开机加电
这里获取group后明细值,软件老王可以单独处理,类别:软件老王1具体值:主机不能加电
这里获取group后明细值,软件老王可以单独处理,类别:软件老王1具体值:有时不能加电
这里获取group后明细值,软件老王可以单独处理,类别:软件老王1具体值:开机加电
    待分类列       原因
3  软件老王2  自检报错或死机
4  软件老王2    机器噪音大
这里获取group后明细值,软件老王可以单独处理,类别:软件老王2具体值:自检报错或死机
这里获取group后明细值,软件老王可以单独处理,类别:软件老王2具体值:机器噪音大
    待分类列    原因
5  软件老王3  噪音问题
这里获取group后明细值,软件老王可以单独处理,类别:软件老王3具体值:噪音问题

2.3 软件老王-source.xlsx

待分类列 原因
软件老王1 主机不能加电
软件老王1 有时不能加电
软件老王1 开机加电
软件老王2 自检报错或死机
软件老王2 机器噪音大
软件老王3 噪音问题

I’m 「软件老王」,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!

你可能感兴趣的:(python)