【Python】钉钉推送

用Python做钉钉消息推送。同事写了个钉钉推送,就觉得好玩正好这会没事就重现下
写的很简单粗糙,之后有新需求了再优化

import pandas as pd
from datetime import datetime
import requests

current_year = str(datetime.now().year)
current_month = str(datetime.now().month)
current_day = str(datetime.now().day)
#head=1 用索引为1的作为columns值
df = pd.read_excel(r"my file direction",header=1)


for col in df.columns:
    df[col] = df[col].astype(str)

row_list = df.columns.values
columns_list = df.index.values
l2_dict = []


for i in row_list:
    zb_list = []
    for j in columns_list:
        day = df.loc[j,i]
        zb_list.append(day)
    l2_dict.append(zb_list)
# print(l2_dict)

new_dict = {}
new_list = []
for item in l2_dict:
    time = item[0]
    l2 = item[1]
    l1 = item[2]
    time2 = item[3]
    l2_new = item[4]
    l1_new = item[5]
    new_dict = {"时间":time,"二线值班人":l2,"一线值班人":l1}
    new_list.append(new_dict)
    new_dict = {"时间":time2,"二线值班人":l2_new,"一线值班人":l1_new}
    new_list.append(new_dict)
# print(new_list)
try:
    for item1 in new_list:
        day = item1["时间"]
        day1 = day.split('(')[0]
        if day1 == current_day:
            l2_new = item1["二线值班人"]
            l1_new = item1["一线值班人"]
            push_message = "当前时间;{}-{}-{}\n今日二线值班人:{}\n今日一线值班人;{}".format(current_year,current_month,day,l2_new,l1_new)
        else:
            continue
except Exception as e:
    push_message = e


import time
import hmac
import hashlib
import base64
import urllib.parse
import requests
import json

#用的钉钉的示例文件
timestamp = str(round(time.time() * 1000))
secret = 'my secret'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
url = f'https://oapi.dingtalk.com/robot/send?access_token=token_value&timestamp={timestamp}&sign={sign}'

head = {"Content-Type":"application/json"}
data = {
    "at":{
        "isAtAll":"false",
    },
    "text":{
        "content":push_message
    },
    "msgtype":"text",
}


req = requests.post(url=url,data=json.dumps(data),headers=head)
print(req.text)

    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容