Python(十六)excel复杂数据处理后&群发微信群消息

前言

之前写了一篇【群发微信群消息】的blog,符合当时的工作需求.
为了贴合最近的实际工作,减少重复工作,进行了进一步优化;



一、需求讲述

简单来说:我首先需要对原有excel复杂数据,进行处理;

  • 1.1)相同B/L的数据去重:并保存在一个新excel的Sheet1中
  • 1.2)去重后的数据处理:
    • 同一 Client 的数据,单独存储在一个Sheet;sheet_name为当前客户名称;
  • 1.3)数据处理完毕后
    • 将客户的数据拼接成一个msg,并自动给【客户微信/微信群】发送

1、测试数据excel设计

测试数据设计思路
- index 从0开始
- 同个Client :存在多条B/L相同的数据,及不同B/L的数据 & 排序不在一起
- 不同Client :存在多条数据
- 某一Client :只存在一条数据

在这里插入图片描述
在这里插入图片描述


2、效果如下

  • ps:如果你问我为什么要先把excel的原数据,这样去处理完…
    因为我是先写了发送消息方法,然后发现单独直接拿excel里面的list集合去进行各种操作,越写越复杂,且一测试各种情况都覆盖不到;
  • 可能当时脑子坑了,最后想想,发送消息已经写通了,那直接把excel处理成,不出错的数据就好,更简单明了;

在这里插入图片描述

在这里插入图片描述



二、代码

# -*- codeing = utf-8 -*- 
# @time: 2025/1/11  15:1
# @Author : Mikasa

import itchat
from wxauto import *
import pandas as pd


# import schedule
# import turtle


def get_wechat_session():
    """
    获取PC已登录微信的会话
    :return:
    """
    # 获取当前微信客户端
    wx = WeChat()
    # 获取会话列表
    wx.GetSessionList()
    return wx


def remove_excel_duplicates(file_path, sheet_name, drop_value, new_excel_name):
    """
    根据条件去除excel重复行
    :param file_path:
    :param sheet_name:
    :param drop_value: 筛选条件:按B/L去重
    :param new_excel_name: 去重后的新excel名称
    :return:
    """
    pd.read_excel(file_path, sheet_name=sheet_name)
    data = pd.DataFrame(pd.read_excel(file_path, sheet_name))
    remove_re_row = data.drop_duplicates([drop_value], keep='first')
    df_unique = remove_re_row.reset_index(drop=True)  # true重置索引
    df_unique.to_excel(new_e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M1kasal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值