weixin_47122279 2021-09-02 14:24 采纳率: 100%
浏览 96
已结题

用pyhton 将excel一行中空值过多的行数据删除

img

img
业务员 2017 2018 2019 2020 2021
1 10 10
2 17 34 10
3 29 69 70 67 34
4 46 1
5 23 18 9 9
6 52 24
7 4 1
8 15
9 51 39 15 46 27

每一行代表每个业务员的历年数据,其中有部分业务员因为其中几年没有业务,故数据为零,在进行数据分析时需要删除;
python处理需求如下:
1、对每个空白单元格进行填充,内容为“0”;
2、对每一行中,超过3个0的行,进行删除;
请求帮助!!

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-09-02 15:12
    关注

    你好,我这里给个例子供你参考,python 3.9,用了pandas导入表格

    import pandas as pd
    filename = 'exam.xlsx'
    df = pd.read_excel(filename).fillna(0)#填充为0
    m,n = df.shape
    logi = [];
    for i in range(m):
        a = df.iloc[i,:];
        s = a.iloc[1:]==0
        if(sum(s)>=3):
            logi.append(False)#找到3个0的位置
        else:
            logi.append(True)
    df = df.iloc[logi,:]#逻辑删除
    new_file_name = 'new_ex.xlsx' 
    df.to_excel(new_file_name,index=False)
    

    效果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日
  • 创建了问题 9月2日