將表格內不一樣的數據,用Python自動發送給不同的人,實現高效摸魚

来源:https://www.cnblogs.com/hahaa/archive/2022/09/24/16726366.html
-Advertisement-
Play Games

事情是這樣的,罪惡的資本家老闆,快下班了給我發一個壓縮包,讓我把數據發給客戶微信,搞完就可以下班了,我心想這麼好,一個文件不是讓我直接就提前下班嗎,萬萬沒想到… 我就知道,萬惡的資本家怎麼可能放棄剝削我的機會,我打開一看,一個壓縮包裡面放了幾百個表格,一個表格裡面N個人,幾十萬條數據,三個微信好友一 ...


事情是這樣的,罪惡的資本家老闆,快下班了給我發一個壓縮包,讓我把數據發給客戶微信,搞完就可以下班了,我心想這麼好,一個文件不是讓我直接就提前下班嗎,萬萬沒想到…

我就知道,萬惡的資本家怎麼可能放棄剝削我的機會,我打開一看,一個壓縮包裡面放了幾百個表格,一個表格裡面N個人,幾十萬條數據,三個微信好友一萬多人,我真的會謝…

都特麽四點了,這不是搞我嗎?換別的同事,這起碼要在公司通宵了~

還好我藏了一手Python,平常只是在家接接單兼職,沒有在公司展示過,嘿嘿~


雖然對於別人來說,這很難,但是對於會Python的我來說,簡直就是手到擒來,10分鐘就搞定下班回家了,氣死老闆~

背景需求

數據太多了,手動輸入的話,非常的浪費時間,通常excel文件里包含了名字、用戶名和初始sin 。

我這裡隨機取幾個數據為例

然後進一步嘗試如何從導出的excel里調用數據,引入python代碼中進行微信自動發送。

代碼演示

0、文件路徑

excel在“C:\Users\Administrator\Desktop\test”下麵

1、向4位客戶微信,發送他們自己的用戶名和初始sin

2、代碼樣式(隨便放在任意路徑下)

需求:
從excel導入4個用戶名和密碼
用python,通過微信自動發送給每個人自己的用戶名和密碼

from datetime import datetime
import time
import pyautogui as pg
import pyperclip as pc
import sys
 
import time
import pyperclip
import win32api
import win32con
import os
import xlrd
     
    
inpath = 'C:\Users\Administrator\Desktop\test\\用戶名密碼.xlsx'#excel文件所在路徑
data = xlrd.open_workbook(inpath, encoding_override='utf-8')
table = data.sheets()[0]#選定第一張表
nrows = table.nrows#獲取行號
ncols = table.ncols#獲取列號
 
for i in range(1, nrows):#第0行為表頭
    alldata = table.row_values(i)#迴圈輸出excel表中每一行,即所有數據
    name = alldata[0]#取出表中第二列數據
    user_name = alldata[1]#取出表中第二列數據
    sin = alldata[2]#取出表中第二列數據    
    print(name,user_name,sin)  
 
    class SendMsg(object):        # 自動發送程式
                    
        def __init__(self):                                    
            self.name = name
            self.msg = '''{}老師:\n\nXX學分網網址:http:\\1234.shedu.sh.cn
                        \n您的用戶名是:\n\n{}\n\n您的初始密碼是:\n\n{}
                        \n(python機器人測試,請忽略,不用回覆)'''.format(name,user_name,sin)
                            # 發送不同的消息 # 這裡還要註意兩位數
            # self.msg = '{}老師,12121.本信息為預設程式自動發送。不用回覆。\n2.如果已經完成,請忽略。'.format(n[0])
            # n[0]表示只要”張三豐“里的”張“,結果就是”張老師“,n(去掉[0]),結果就是”張三豐老師“
            
 
        def send_msg(self):
            # 操作間隔為1秒
            pg.PAUSE = 1
            pg.hotkey('ctrl', 'alt', 'w')
            pg.hotkey('ctrl', 'f')
 
            # 找到好友
            pc.copy(self.name)
            pg.hotkey('ctrl', 'v')
            pg.press('enter')
 
            # 發送消息
            pc.copy(self.msg)
            pg.hotkey('ctrl', 'v')
            pg.press('enter')
 
            # 隱藏微信
            time.sleep(0.5)
            pg.hotkey('ctrl', 'alt', 'w')
            
 
 
    if __name__ == '__main__':
        s = SendMsg()
        # while True:
        for i in range(1):      # 每句話發送幾次,如001發送兩次=001 001 ,002兩次=002、002:
            s.send_msg()
            # n +=/ 1
            #         
sys.exit(0) # 發送完成後,退出
    # 與第一個for 平行  每個賬戶發送兩次不同編號

 

進一步需求:

  • 可以選擇班組發送
  • 設置時間定時提醒、然後定時發送

3、啟動微信:確保右下角的微信開著。

發送效果展示

# 兄弟們學習python,有時候不知道怎麼學,從哪裡開始學。掌握了基本的一些語法或者做了兩個案例後,不知道下一步怎麼走,不知道如何去學習更加高深的知識。
# 那麼對於這些大兄弟們,我準備了大量的免費視頻教程,PDF電子書籍,以及源代碼!
# 還會有大佬解答!
# 包括本文代碼都在這個群里了 279199867
# 歡迎加入,一起討論 一起學習!

 

01信息核對


最後

1、用這種方法,就可以輕鬆將個人的信息單獨發給個人,保護隱私。

2、電腦自動發送,方便快捷,避免遺漏,效率超級高。

3、後續進行時間和班組選擇設置。

最後給大家推薦一套Python教程:代碼總是學完就忘記?100個爬蟲實戰項目!讓你沉迷學習丨學以致用丨下一個Python大神就是你!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 二叉樹查找指定的節點 前序查找的思路 1.先判斷當前節點的no是否等於要查找的 2.如果是相等,則返回當前節點 3.如果不等,則判斷當前節點的左子節點是否為空,如果不為空,則遞歸前序查找 4.如果左遞歸前序查找,找到節點,則返回,否繼續判斷,當前的節點的右子節點是否為空,如果不為空,則繼續向右遞歸前 ...
  • ###一、介紹 selenium最初是一個自動化測試工具,而爬蟲中使用它主要是為瞭解決requests無法直接執行JavaScript代碼的問題 selenium本質是通過驅動瀏覽器,完全模擬瀏覽器的操作,比如跳轉、輸入、點擊、下拉等,來拿到網頁渲染之後的結果,可支持多種瀏覽器 from selen ...
  • 簡述 類型:結構型 目的:通過抽離出多個維度相互組合(聚合)來代替繼承,簡化系統。 話不多說,看個優化案例。 優化案例 現有系統中,對於畫面視窗的邊框有一套樣式來控制是否有圓角。因為新的需求,需要增加兩套樣式,一套控制邊框線條的顏色(紅、黃、藍),一套控制邊框有無陰影。我們來看看幾種實現方式。 最初 ...
  • ##springboot中使用mybatisplus自帶插件實現分頁 ####1.導入mybatisplus分頁依賴 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId ...
  • OpenFeign 全稱 Spring Cloud OpenFeign,它是 Spring 官方推出的一種聲明式服務調用與負載均衡組件,它的出現就是為了替代進入停更維護狀態的 Feign。Spring Cloud openfeign對Feign進行了增強,使其支持Spring MVC註解,另外還整合... ...
  • ###一、介紹 Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫.它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式.Beautiful Soup 3 目前已經停止開發,官網推薦在現在的項目中使用Beautiful Soup 4, 移植到BS4 ...
  • Spring框架支持六個作用域,其中四個只有在Web中才能用到,在此我們只說明前兩種作用域。 下麵是所有的六種作用域: ScopeDescription singleton (Default) Scopes a single bean definition to a single object in ...
  • 2022-09-24 創建了一個Django項目後,進行測試,輸入指令: python manage.py runserver 出現瞭如下問題: 我還想著,Django模塊通過安裝“pip install django”導入了好幾遍,嘗試了幾次都是這樣。後來發現,是虛擬環境中沒有Django模塊的文 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 插件化的需求主要源於對軟體架構靈活性的追求,特別是在開發大型、複雜或需要不斷更新的軟體系統時,插件化可以提高軟體系統的可擴展性、可定製性、隔離性、安全性、可維護性、模塊化、易於升級和更新以及支持第三方開發等方面的能力,從而滿足不斷變化的業務需求和技術挑戰。 一、插件化探索 在WPF中我們想要開 ...
  • 歡迎ReaLTaiizor是一個用戶友好的、以設計為中心的.NET WinForms項目控制項庫,包含廣泛的組件。您可以使用不同的主題選項對項目進行個性化設置,並自定義用戶控制項,以使您的應用程式更加專業。 項目地址:https://github.com/Taiizor/ReaLTaiizor 步驟1: ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • Channel 是乾什麼的 The System.Threading.Channels namespace provides a set of synchronization data structures for passing data between producers and consume ...
  • efcore如何優雅的實現按年分庫按月分表 介紹 本文ShardinfCore版本 本期主角: ShardingCore 一款ef-core下高性能、輕量級針對分表分庫讀寫分離的解決方案,具有零依賴、零學習成本、零業務代碼入侵適配 距離上次發文.net相關的已經有很久了,期間一直在從事java相關的 ...
  • 前言 Spacesniffer 是一個免費的文件掃描工具,通過使用樹狀圖可視化佈局,可以立即瞭解大文件夾的位置,幫助用戶處理找到這些文件夾 當前系統C盤空間 清理後系統C盤空間 下載 Spacesniffer 下載地址:https://spacesniffer.en.softonic.com/dow ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • 一、ReZero簡介 ReZero是一款.NET中間件 : 全網唯一開源界面操作就能生成API , 可以集成到任何.NET6+ API項目,無破壞性,也可讓非.NET用戶使用exe文件 免費開源:MIT最寬鬆協議 , 一直從事開源事業十年,一直堅持開源 1.1 純ReZero開發 適合.Net Co ...
  • 一:背景 1. 講故事 停了一個月沒有更新文章了,主要是忙於寫 C#內功修煉系列的PPT,現在基本上接近尾聲,可以回頭繼續更新這段時間分析dump的一些事故報告,有朋友微信上找到我,說他們的系統出現了大量的http超時,程式不響應處理了,讓我幫忙看下怎麼回事,dump也抓到了。 二:WinDbg分析 ...
  • 開始做項目管理了(本人3年java,來到這邊之後真沒想到...),天天開會溝通整理需求,他們講話的時候忙裡偷閑整理一下常用的方法,其實語言還是有共通性的,基本上看到方法名就大概能猜出來用法。出去打水的時候看到外面太陽好好,真想在外面坐著曬太陽,回來的時候好兄弟三年前送給我的鍵盤D鍵不靈了,在打"等待 ...