用Python編寫一個私人助理程序,為我們起草電子郵件
在你的工作中是否有一些你自己經常做重復的任務?這就是編程的樂趣所在。通過一些思考和編程,您可以使您的任務自動化,并為您節省大量時間。在本文中,我們將介紹一些Python工具和技巧,讓你可以創建自己的Python個人助理。
1. 助手功能
我們要創建一個助手,可以寫電子郵件。只需要輸入收件人的名字或昵稱,其余的都由它來處理。要寫一封好的電子郵件,這個程序會查看我們制作的Excel表格,里面有我通常每周都會給他們發郵件的人的基本信息。例如,如果我輸入Caleb(我想要給誰發電子郵件的名字),它會為我復制以下內容:
- Full name: Caleb (Coco) Stephano
- Email to send to: stevens.coco12345@snailmail.com
- Hi Coco,
- I hope all is well on the UX team!
- Thanks,
- Ben
2. 輸入程序指令
為了讓您的Python助手幫助您,您可能需要向它提出一些要求。首先,提示用戶輸入文本:
- answer=input('What can I help you with? Enter here: ')
當您運行您的文件時,您將注意到在終端或命令提示符中,光標正好放在上面圓括號內的文本之后,為您的輸入做好準備。
3. 使用openpyxl從Excel中獲取數據
假設你在Excel表格中有關于你所有朋友的信息。更具體地說,是他們的姓和名、昵稱、電子郵件地址、興趣愛好等等。您可以使用openpyxl從該工作表中提取數據,以便您的Python助手可以使用它:
- import openpyxl
- book = openpyxl.load_workbook(r'Put_Your_Path_To_Sheet_Here')
- ws = book.active
您現在可以使用ws來做各種事情。例如,讓我們用我們的朋友的例子,想象每一列是一個信息列表:

這張單子上寫著Beth很喜歡打網球。然而,我們不應該每次都打開和搜索我們的表單來記住這一點。我們的助理會幫我們的。例如,下面的附加代碼將列昵稱數據存儲到數組中。這樣,你的助手可以搜索和處理你的數據:
- import openpyxl
- #SET UP SHEET
- book = openpyxl.load_workbook(r'Put_Your_Path_To_Sheet_Here')
- ws = book.active
- #SET UP ARRAY TO HOLD NICKNAMES
- nickArray=[]
- #APPEND NICKNAMES IN LIST, RUNNING THROUGH COLUMN B OF THE SHEET UNTIL THERE'S AN EMPTY CELL
- skip=True
- firstRow=True
- for cell in ws['B']:
- if (cell.value==None):
- continue
- if (skip==False):
- nickArray.append(cell.value)
- firstRow=False
- skip=False
- #PRINT ALL ITEMS IN THAT ROW TO SEE THAT IT WORKS
- for x in nickArray:
- print(x)
這段代碼查看工作表的列B,跳過第一行(通常是標題行),然后掃描整行數據,直到沒有剩下。它將每個項添加到數組中。
4. 使用tkinter顯示用戶友好的消息
在電腦上,人們通常不會在終端機或命令提示符中埋頭工作。通常,你會使用一些不錯的用戶界面,比如Microsoft Word或谷歌Chrome。您可能會注意到,您通過帶有按鈕的漂亮窗口和這些程序交互。這就是好的UX/UI發揮作用的地方。
到目前為止,您和助手在終端或命令提示符中通信,這不是理想的UI。Python的tkinter庫包含允許您創建新的和改進的UI的工具。
下面是一個簡單的例子。假設當我們運行update .py文件以使用最新的Excel表信息更新我們的助手時,我們希望顯示一條“update Successful”消息:
- #THIS IS IN updater.py
- from tkinter import *
- #DISPLAY SUCCESS MESSAGE
- root=Tk()
- labelfont=('times', 20, 'bold')
- root.title('Success Confirmation')
- successText='Your update was successful'
- widget=Label(root, text=successText, wraplength=600, justify=LEFT)
- widget.config(height=35, width=90)
- widget.pack(expand=YES, fill=BOTH)
- root.mainloop()
它的工作方式是將tkinter根目錄設置為基本窗口構建塊,并在其上添加額外的細節。我添加了標題、正文文本、關于文本外觀的詳細信息、窗口尺寸以及關于窗口功能的其他規范。當你運行這個文件時,最終結果看起來是這樣的:
5. 使用pyperclip將文本復制到剪貼板
為我起草郵件的助手會在我面前顯示郵件文本。使用pyperclip庫,它有工具可以自動將任何文本復制到剪貼板:
- #THIS IS IN assistant.py
- import pyperclip
- myText="Hi Coco,\n\n"+"I hope all is well on the UX team!\n\n"+"Thanks,\n"+"Ben"
- pyperclip.copy(myText)
6. 將文本寫入日志
如果您希望保留一個日志,其中包含您的助手上次幫助您的時間,該怎么辦?創建一個名為log.py的新Python文件。這就是日志。如果您的助手有以下代碼,則可以始終使用日期和時間為您填充日志:
- #THIS IS IN assistant.py
- #IMPORT LIBRARY THAT GETS CURRENT DATE AND TIME
- import datetime
- #CREATE AND NEW DATE AND TIME
- now = datetime.datetime.now()
- #WRITE DATE AND TIME TO THE LOG
- with open("log.py", "w") as f1:
- f1.writelines(now.strftime("%Y-%m-%d %H:%M:%S")
原文:
https://medium.com/swlh/i-used-python-to-make-a-personal-assistant-and-it-drafts-emails-for-me-434ac3ab6d38