如何使用表格中的信息群发微信消息?

  • 如何读取csv? →   使用内置模块csv
  • 如何按对应信息发送到微信?→  使用第三方库wxpy

以下代码素材自取:链接:https://pan.baidu.com/s/1nmzgCr_wwttWUgYwnc2eIg   提取码:dwlw

import csv
from wxpy import *
import time # 运行代码之前需要先将表格里的姓名换成你的朋友的微信名字。 def read_info():
f = open(r'F:\temp\Script_Day10/sample.csv','r',encoding='utf-8')
reader = csv.DictReader(f)
return [info for info in reader]#[{},{},{}] #'xx-同学请于 xx 时间参加 xx 课程,课程地址是 xxx。收到请回复,谢谢'
def make_msg(raw_info):
t = '{n}-同学请于{t}时间参加{s}课程,课程地址是{a}。收到请回复,谢谢!'
return [t.format(n=info['姓名'],
t=info['上课时间'],
s=info['课程'],
a=info['上课地址']
) for info in raw_info]
# -> list ['xxx','xxx']
def send(msg_list):
bot = Bot()
for msg in msg_list:
fren_name = msg.split('-')[0]
f = bot.friends().search(fren_name) # list
if len(f) == 1:
f[0].send(msg)
else:
print(fren_name)
print('Please check this name')
time.sleep(5)
if __name__ == '__main__':
raw_info = read_info()
msg_list = make_msg(raw_info)
send(msg_list)

现在要给4个人发送不同的邀请信息,销售给了你一份 csv 名单,但名单里人是不全的,只有其中3个人。则需发送消息给名单上的人,打印不在名单上的那个人,代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/2/22 16:18
# @Author : xiaodai
# coding:utf-8
import csv
import time
from wxpy import * # 将要发送的好友的名字存到list中
FRIENDS = ['王', '君', '姐', '小明']
CSV_PATH = r'F:\temp\upload_pic/MeetingMsg.csv' # 定义函数获取csv中的内容
def read_csv(path):
f = open(path, 'r', encoding='utf-8')
reader = csv.DictReader(f)
# print([info for info in reader])
return [info for info in reader] # 定义获取发送内容的函数
def get_msg(infos, name):
template = "{name},提醒下,{time}记得来参加{event},地点在{location},{note}"
for info in infos:
if info['微信昵称'] == name:
msg = template.format(
name=info['微信昵称'],
time=info['时间'],
event=info['事件'],
location=info['地址'],
note=info['备注']
)
return msg
# 如果在infos列表中没有找到对应的微信昵称,则输出None
return None # 定义用于群发操作的函数
def send_to_friends(infos, friends):
# 初始化微信机器人
bot = Bot()
for friend in friends:
# 搜素好友
friend_search = bot.friends().search(friend)
# 如果搜索结果仅有一个,则发送图片,否则返回错误信息
if len(friend_search) == 1:
msg = get_msg(infos, friend)
if msg:
friend_search[0].send(msg)
else:
print("发送失败!用户名不在csv中:" + friend)
else:
print("发送失败!请检查用户名:" + friend)
time.sleep(3) # 调用群发函数
send_to_friends(read_csv(CSV_PATH), FRIENDS)

python-----定制群发微信消息的更多相关文章

  1. 使用Python发送企业微信消息

    准备工作: 到企业微信官网,注册一个企业:登录企业微信后台,创建一个“自建”应用, 获取企业ID.agentid.secret这3个必要的参数:在企业微信的通讯录中,创建多个测试账号:在手机端安装“企 ...

  2. 【玩具】使用Python自动化发送微信消息进行订水

    事情是这样的,我知道淘宝上有卖一种USB接口的大按钮,估计是给工厂或者医院之类的场景设计的,样子长这样: 然后我就一直挺想搞一个的,不为别的,就是玩,但是想来想去也没想到这玩意儿对我而言能有啥用途,就 ...

  3. Python定制化天气预报消息推送

    sansui-Weather 代码码云 介绍 定制化天气预报消息推送(练手小脚本) Python脚本实现天气查询应用,提醒她注意保暖! 功能介绍 天气信息获取 当天天气信息提示 第二天天气信息提示 网 ...

  4. Python+wxpy 实现微信消息轰炸

    需要导入wxpy,在终端中输入以下命令即可 pip install wxpy 如果没有pip先安装pip,安装好了的直接输入命令即可,安装好了但是显示没有安装的可能是没有将pip添加到PATH中,需要 ...

  5. Python 发送企业微信消息

    1.获取企业微信信息 1)我的企业 --> 企业信息 --> 企业ID 2)创建一个应用,记录该应用的 AgentId.Secret 2.python代码 #!/usr/bin/env p ...

  6. python实现发送微信消息

    import json from threading import Timer from wxpy import * import requests import urllib.parse def g ...

  7. Python实现微信消息防撤回

    微信(WeChat)是腾讯公司于2011年1月21日推出的一款社交软件,8年时间微信做到日活10亿,日消息量450亿.在此期间微信也推出了不少的功能如:“摇一摇”.“漂流瓶”.“朋友圈”.“附近的人” ...

  8. python 全栈开发,Day103(微信消息推送,结算中心业务流程)

    昨日内容回顾 第一部分:考试题(Python基础) 第二部分:路飞相关 1. 是否遇到bug?难解决的技术点?印象深刻的事? - orm操作费劲 - 最开始学习路由系统时候,匹配规则: 答案一: 有, ...

  9. python使用itchat发送微信消息提醒

    最近在学习一点python,先找了找有趣的应用,实际修改跑了一下提高兴趣程度. 找到itchat,它的简介是这样的: “itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. ...

随机推荐

  1. 大型系统的Redis性能优化

    问题描述 系统背景:大型线上Java服务集群(活跃用户数上千万),业务重度使用Redis存储个管理Session,业务并发量>1WQPS,基本上每个请求都需要访问Redis(可能是多次),使用了 ...

  2. Luogu P1069细胞分裂【分解质因数/数论】By cellur925

    题目传送门 发现这题真的坑超多啊...调了一晚上终于过了...我好菜啊qwq. 题意说的比较明白,让你求满足(si^k)%(m1^m2)==0的最小k值.然后看数据范围我们知道,我们肯定不能暴力的判断 ...

  3. Jquery | 基础 | 慕课网 | 元素选择器

    getElementsByTagName方法得到页面所有的<div>元素 var divs = document.getElementsByTagName('div'); 与 同样的效果, ...

  4. httpclient 3.1跳过https请求SSL的验证

    一.因为在使用https发送请求的时候会涉及,验证方式.但是这种方式在使用的时候很不方便.特别是在请求外部接口的时候,所以这我写了一个跳过验证的方式.(供参考) 二.加入包,这里用的是commons- ...

  5. SqlParameter 操作 image 字段

    public static void AddEmployee( string lastName, string firstName, string title, DateTime hireDate, ...

  6. pyinstaller打包遇到的错误处理

    在python环境中运行中没问题,但打包时遇到以下问题 1.有时打包出现 UnicodeDecodeError错误, 可以改变cmd的编码(暂且这么叫),在cmd 中输入 chcp 65001,再次打 ...

  7. shell expect

    关键的action spawn     调用要执行的命令expect     捕捉用户输入的提示 send        发送需要交互的值,替代了用户手动输入内容set           设置变量值 ...

  8. 【转】grep 用法详解

    有时会使用到,但老忘,转到博客以便学习收藏 转自http://blog.csdn.net/tenfyguo/article/details/6387786 首先要记住的是: 正则表达式与通配符不一样, ...

  9. re正则表达式2

    1.“字符*” 匹配*前面的字符0次或者多次. 注意:是匹配*前一个字符,只能是*前一个字符多次打印出来.*前面其他的字符相当于前缀会打印出来,但是不会再匹配. *前一个字符前面的其他字符里的首字符先 ...

  10. 边框圆角值的问题、white-space、word-wrap、margin对布局的影响

    1.边框圆角(border-radius)值的问题 border-radius : 7px 7px 7px 0; 四个值的顺序是左上.右上.右下.左下 2.white-space 规定段落中的文本不换 ...