美文网首页
用python合并单元格

用python合并单元格

作者: 黑色汪汪汪 | 来源:发表于2020-09-03 10:03 被阅读0次
    image.png

    诺~,这就是表哥。

    当领导把一堆表哥发给你的时候,你看着下午四点的钟,感觉自己下班后的所有小计划都一一破灭了,又要加班了... ... 你拿起了手机,打开了美团外卖... ...

    老板:把这个表哥的资料整理一下,整理好了发给我。

    你以为老板想要的是介样滴:


    image.png

    奋战了几个小时,发给老板。

    老板半个小时回复:这样太乱了,把一个人的业绩都合并一下。

    你望着上千行的表哥手无足措,满脑子都是表哥,怎么解决这个表哥?

    实际老板想要的是介样滴:


    image.png

    你一边干着活,一边想着各种问候领导的话,嗯,活还是得干。那么如何处理这上千行嗷嗷待合并的表哥呢?
    拿好板凳,小葵花课堂开课啦!


    image.png
    当用户一个需求甩到我们的面前的时候,就要分析一下有几种解决办法。

    或者直接在网上搜一下,看大家有没有遇到一样的情况的,如果有,太好了,抄之。如果没有,那只能自己创造啦!或者看着别的代码或者思路觉得不靠谱还不如自己一展身手。

    方案1:
    先读取表哥数据,然后for循环处理需要合并的单元格。
    方案2:
    站在巨人的肩膀上,寻找优秀的框架,在优秀的框架基础上进一步修改。
    之前短暂接触过pandas,其dataframe特别符合数据表格,也许它有强大的功能呢?

    那我们先打开pandas的官方网站,从官方文档入手,国外优秀的开源项目都有一份很完善的文档作为支撑,不像国内,没开源项目代码开源,文档居然收费,呵呵哒~。离开源精神相差太远,目测要发展起来很难,因为它自己把自己给局限起来了,很不明智。扯远了,我们继续看pandas的官方文档。


    image.png

    10分钟了解pandas,我看到了其中的Grouping,其实就是分组排序嘛,学过数据库的大家都懂,我们看看分组排序能否解决我们的需求:


    image.png
    刚翻了没几行就发现了让我眼前一亮的东西!你们发现了没有?那我来个特写好了:
    image.png

    红框出第一行啊,是不是我们想要的样子呢?

    别慌,先继续往下走走。

    ... ...

    ... ...

    ... ...

    ... ...

    ... ...

    其中省略1000字,本来想写写过程,最近实在是忙直接上结果吧。

    关键部分代码:

    
    #依赖的软件包,pandas、xlrd、openpyxl
    import pandas as pd
    import numpy as np
    BASE_DIR='your file path' # 你的文件路径
    df = pd.read_excel(BASE_DIR)
    df.fillna('', inplace=True)
    df.reset_index(inplace=True) 
    # 上面一行关键代码,没有这一行是不行滴,尝试N次外加重复阅读官方文档之后的结果
    wf_groups = df.groupby(['姓名', '电话', '家庭住址',
                                '业绩', '考核', '时间'])
    wf_groups.agg([np.mean]).to_excel('你想要的表哥导出.xlsx') # 导出在当前文件夹下面
    

    好了,我们跑完之后看看结果吧。


    image.png

    我们看到,表哥基本上是你想要的表哥了,动动鼠标删掉没有用到的行和列就可以了。

    如果有强迫症,那么我们继续。

    from openpyxl import load_workbook
    
    filename = 'your file path'
    wb = load_workbook(filename)
    ws = wb.active
    ws.delete_cols(13) #删除第 13 列数据
    ws.delete_rows(3) #删除第 3行数据
    wb.save(filename)
    wb.close()
    

    根据你家表哥的样子,删除你想删除的行或者列。
    如果你家表哥比较多,那就写个for循环遍历一下,后面就是你跟你的表哥的事情了,小编就不过多掺和了。
    不懂的小伙伴后台私信我吧。

    关注小葵花python课堂,定期推送python新玩法~

    image.png

    相关文章

      网友评论

          本文标题:用python合并单元格

          本文链接:https://www.haomeiwen.com/subject/wwhnsktx.html