前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盘点一个Python自动化办公案例分享

盘点一个Python自动化办公案例分享

作者头像
Python进阶者
发布2023-08-31 08:34:16
2160
发布2023-08-31 08:34:16
举报
文章被收录于专栏:Python爬虫与数据挖掘

一、前言

前几天在Python最强王者群【莫生气】问了一个Python自动化办公的问题,这里拿出来给大家分享下。

他的原始数据中,如下图所示,这里脱敏后的处理:

原来粉丝的做法是,针对不同的合同号,属于不同的产品,他自己单独从excel中进行筛选数据,比方说合同1为一个单独的表格,合同2又为一个单独的表格,合同3为一个单独的表格,然后再针对3个不同的表格进行单独操作。

上面这个做法确实是可以行得通,但是筛选的话就比较费时间,也费精力,万一出错了,比方说少复制一行啥的,还容易出现混乱。

二、实现过程

其实这里可以在处理的时候,增加一个判断,如果是合同1的话,就单独为合同1写个处理函数,同理,如果是合同2的话,就单独为合同2写个处理函数,以此类推。毕竟每个合同代表不同的产品,每个产品的模板处理还有部分差异。

然后公共部分的话,还是可以复用的,以前3个程序需要分别进步跑程序,现在整合到一个代码文件里边,提升了效率。

代码语言:javascript
复制
if __name__ == '__main__':
    df = pd.read_excel("测试数据.xlsx", sheet_name="Sheet1", usecols="B,E,F,M,Q,R,U,V,X,AC,AN:AR")
    df.columns = [c.strip() for c in df.columns]
    for (b, e, m, f), df_split in df.groupby(['合同号', '商品编号', '收货单位', "城市名"]):
        m = m.strip("*")
        # 注意这里会过滤掉特殊省位
        if any(addr in f for addr in ("广东", "安徽", "浙江", "福建", "贵州")):
            continue
        if b.startswith("合同1"):
            title = "合同1"
            hetong1(title, e)

        elif b.startswith("合同2"):
            title = "合同2"
            hetong2(title, e)

        elif b.startswith("合同3"):
            title = "合同3"
            hetong3(title, e)

        else:
            print(f"该订单{b}属于其他产品!")

程序改进之后,顺利地帮粉丝解决了问题,还提升了处理问题的效率,粉丝直呼好家伙!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。--

往期精彩文章推荐:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、实现过程
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档