python學習筆記,python處理 Excel、Word、PPT 以及郵件自動化辦公

文章目錄

  • 前言
  • 一、環境搭建
    • 1. 下載 Python
    • 2. 安裝 Python
  • 二、處理 Excel 文件(openpyxl庫)
  • 三、 處理 Word 文件(python-docx庫)
  • 四、 處理 PPT 文件(python-pptx庫)
  • 五、 自動發送郵件(smtplib和email庫)


前言

Python 辦公自動化是利用 Python 語言來自動處理辦公場景中常見的重復性任務,從而提高工作效率。下面為你介紹在處理 Excel、Word、PPT 以及郵件發送等方面實現辦公自動化的方法和示例代碼。


一、環境搭建

1. 下載 Python

訪問 Python 官方網站,根據你的操作系統(Windows、Mac OS、Linux)選擇合適的 Python 版本進行下載。建議下載 Python 3.x 版本,因為 Python 2 已經停止維護。

還可以從小編準備地址下載。

Python 3.7下載地址:https://pan.quark.cn/s/8268bf81f31f
Python 3.9下載地址:https://pan.quark.cn/s/9711a93276ad
Python 3.11下載地址:https://pan.quark.cn/s/9c44793cb24c

2. 安裝 Python

訪問 Python 官方網站(https://www.python.org/),根據自己的操作系統(Windows、MacOS、Linux)下載并安裝 Python 3.x 版本。安裝過程中注意勾選 “Add Python to PATH”,以便在命令行中能直接使用 Python。

Python 3.7安裝教程:https://blog.csdn.net/u014164303/article/details/145620847
Python 3.9安裝教程:https://blog.csdn.net/u014164303/article/details/145570561
Python 3.11安裝教程:https://blog.csdn.net/u014164303/article/details/145549489

二、處理 Excel 文件(openpyxl庫)

  • openpyxl 是一個用于讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 庫。

  • 示例代碼:創建并寫入 Excel 文件

from openpyxl import Workbook# 創建一個新的工作簿
wb = Workbook()# 獲取活動工作表
ws = wb.active# 設置表頭
headers = ['姓名', '年齡', '職業']
ws.append(headers)# 添加數據行
data = [['張三', 25, '工程師'],['李四', 30, '教師'],['王五', 28, '設計師']
]for row in data:ws.append(row)# 保存工作簿
wb.save('employees.xlsx')
  • 示例代碼:讀取 Excel 文件
from openpyxl import load_workbook# 加載工作簿
wb = load_workbook('employees.xlsx')# 獲取活動工作表
ws = wb.active# 遍歷每一行并打印數據
for row in ws.iter_rows(values_only=True):print(row)

三、 處理 Word 文件(python-docx庫)

  • python-docx 可以創建、修改和讀取 Word 文檔。
from docx import Document# 創建一個新的文檔
doc = Document()# 添加標題
doc.add_heading('Python辦公自動化', level=1)# 添加段落
doc.add_paragraph('這是一個使用 Python 生成的 Word 文檔示例。')# 添加列表
doc.add_paragraph('以下是一些要點:', style='List Bullet')
points = ['自動化提高效率', '減少人為錯誤', '代碼可復用']
for point in points:doc.add_paragraph(point, style='List Bullet')# 保存文檔
doc.save('example.docx')
  • 示例代碼:讀取 Word 文檔
from docx import Document# 打開文檔
doc = Document('example.docx')# 遍歷段落并打印內容
for paragraph in doc.paragraphs:print(paragraph.text)

四、 處理 PPT 文件(python-pptx庫)

  • python-pptx 用于創建和修改 PowerPoint 演示文稿。
  • 示例代碼:創建 PPT 演示文稿
from pptx import Presentation
from pptx.util import Inches# 創建一個新的演示文稿
prs = Presentation()# 添加標題幻燈片
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]# 設置標題和副標題
title.text = "Python辦公自動化"
subtitle.text = "讓工作更高效"# 添加內容幻燈片
content_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(content_slide_layout)
shapes = slide.shapestitle_shape = shapes.title
body_shape = shapes.placeholders[1]# 設置標題和內容
title_shape.text = "主要優點"
tf = body_shape.text_frame
tf.text = "自動化提高效率"# 保存演示文稿
prs.save('presentation.pptx')

五、 自動發送郵件(smtplib和email庫)

  • 可以使用 smtplib 來發送郵件,email 庫用于構建郵件內容。
  • 示例代碼:發送簡單文本郵件
import smtplib
from email.mime.text import MIMEText
from email.header import Header# 發件人郵箱和授權碼
sender = 'your_email@example.com'
password = 'your_email_password'# 收件人郵箱
receivers = ['recipient_email@example.com']# 郵件內容
message = MIMEText('這是一封使用 Python 自動發送的郵件。', 'plain', 'utf-8')
message['From'] = Header(sender, 'utf-8')
message['To'] = Header(", ".join(receivers), 'utf-8')
message['Subject'] = Header('Python 郵件測試', 'utf-8')# 連接 SMTP 服務器并發送郵件
try:smtpObj = smtplib.SMTP('smtp.example.com', 25)smtpObj.login(sender, password)smtpObj.sendmail(sender, receivers, message.as_string())print("郵件發送成功")
except smtplib.SMTPException:print("郵件發送失敗")
finally:smtpObj.quit()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70222.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70222.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70222.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python 基礎-循環

目錄 簡介 break continue 小結 簡介 要計算123,我們可以直接寫表達式: >>> 1 2 3 6要計算123...10,勉強也能寫出來。 但是,要計算123...10000,直接寫表達式就不可能了。 為了讓計算機能計算成千上…

簡單易懂,解析Go語言中的Channel管道

Channel 管道 1 初始化 可用var聲明nil管道;用make初始化管道; len(): 緩沖區中元素個數, cap(): 緩沖區大小 //變量聲明 var a chan int //使用make初始化 b : make(chan int) //不帶緩沖區 c : make(chan stri…

python-leetcode 36.二叉樹的最大深度

題目: 給定一個二叉樹root,返回其最大深度 二叉樹的最大深度是指從根節點到最遠葉子節點的最長路徑上的節點數 方法一:深度優先搜索 知道了左子樹和右子樹的最大深度l和r,那么該二叉樹的最大深度即為:max(l,r)1 而左子樹和右子樹的最大深…

RESTful 的特點與普通 Web API 的區別

RESTful 是一種設計風格,而不僅僅是普通的 Web API。它遵循一些特定的原則和約束,使得 API 更加簡潔、可擴展和易于理解。以下是 RESTful 的特點,以及與普通 Web API 的區別: RESTful 的特點 1. 資源導向 RESTful API 的核心是資…

結構風荷載理論與Matlab計算

結構風荷載理論與matlab計算的實例程序,適合初學者理解matlab風荷載計算 資源文件列表 程序_結構風荷載理論與Matlab計算/chapter1/exam_simWind_1_1.m , 1035 程序_結構風荷載理論與Matlab計算/chapter1/Extrmv.m , 303 程序_結構風荷載理論與Matlab計算/chapter1…

numpy(02 數據類型和數據類型轉換)

numpy(01 入門) 目錄 一、Python NumPy 數據類型 1.1 NumPy 基本類型 1.2 數據類型對象 (dtype) 1.3 具體實例 二、Numpy數據類型轉換 2.1 浮點數據轉換 2.2 整型數據轉換 2.3 浮點數轉整數 一、Python NumPy 數據類型 1.1 NumPy 基本類型 下表列舉了常用 NumPy 基…

【雅思博客04】Silence please!

A: Those people in front of us are making so much noise. It’s so inconsiderate! B: Don’t worry about it; it’s not such a big deal. A: Oh... I can’t hear a thing! Excuse me, can you keep it down? C: Sure, sorry about that! A: Someone’s phone is ri…

【大語言模型_3】ollama本地加載deepseek模型后回答混亂問題解決

背景: 本地下載了DeepSeek-R1-Distill-Qwen-7B模型后,通過ollama create DeepSeek-R1-Distill-Qwen-7B -f ds7b.mf加載模型啟動后回答混亂,無法使用。 解決方法 重新下載模型,選擇了DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf 重…

nginx ngx_http_module(9) 指令詳解

nginx ngx_http_module(9) 指令詳解 nginx 模塊目錄 nginx 全指令目錄 一、目錄 1.1 模塊簡介 ngx_http_uwsgi_module:uWSGI支持模塊,允許Nginx與uWSGI服務器進行通信。uWSGI是一種應用服務器協議,廣泛用于Python Web應用的部署。通過該…

用PyInstaller構建動態腳本執行器:嵌入式Python解釋器與模塊打包 - 簡明教程

技術場景: 需分發的Python工具要求終端用戶可動態修改執行邏輯將Python環境與指定庫(如NumPy/Pandas)嵌入可執行文件實現"一次打包,動態擴展"的輕量化解決方案。 ▌ 架構設計原理 1. 雙模運行時識別 # 核心判斷邏輯…

山石網科×阿里云通義靈碼,開啟研發“AI智造”新時代

近日,山石網科正式宣布全面接入阿里云通義靈碼企業專屬版,這標志著山石網科在研發智能化、自動化領域邁出重要一步,為研發工作注入強大的AI動力,實現多維度的效率飛躍。 此次合作,阿里云通義靈碼依托強大的AI能力&…

《被討厭的勇氣》(六)

1.自由就是被別人討厭。 2.毫不在意別人的評價、不害怕被別人討厭、不追求被他人認可,如果不付出以上這些代價,那就無法貫徹自己的生活方式,也就是不能獲得自由。 3.在意你的臉的只有你自己。 4.不去干涉別人的課題也不讓別人干涉自己的課題.…

使用 PyTorch 實現標準卷積神經網絡(CNN)

卷積神經網絡(CNN)是深度學習中的重要組成部分,廣泛應用于圖像處理、語音識別、視頻分析等任務。在這篇博客中,我們將使用 PyTorch 實現一個標準的卷積神經網絡(CNN),并介紹各個部分的作用。 什…

SpringBoot2.0整合Redis(Lettuce版本)

前言: 目前java操作redis的客戶端有jedis跟Lettuce。在springboot1.x系列中,其中使用的是jedis, 但是到了springboot2.x其中使用的是Lettuce。 因為我們的版本是springboot2.x系列,所以今天使用的是Lettuce。關于jedis跟lettuce的區別&#…

qt + opengl 給立方體增加陰影

在前幾篇文章里面學會了通過opengl實現一個立方體,那么這篇我們來學習光照。 風氏光照模型的主要結構由3個分量組成:環境(Ambient)、漫反射(Diffuse)和鏡面(Specular)光照。下面這張圖展示了這些光照分量看起來的樣子: 1 環境光照(Ambient …

大模型工具大比拼:SGLang、Ollama、VLLM、LLaMA.cpp 如何選擇?

簡介:在人工智能飛速發展的今天,大模型已經成為推動技術革新的核心力量。無論是智能客服、內容創作,還是科研輔助、代碼生成,大模型的身影無處不在。然而,面對市場上琳瑯滿目的工具,如何挑選最適合自己的那…

stream流常用方法

1.reduce 在Java中,可以使用Stream API的reduce方法來計算一個整數列表的乘積。reduce方法是一種累積操作,它可以將流中的元素組合起來,返回單個結果。對于計算乘積,你需要提供一個初始值(通常是1,因為乘法…

pgAdmin4在mac m1上面簡單使用(Docker)

問題 想要在本地簡單了解一下pgAdmin4一些簡單功能。故需要在本機先安裝看一看。 安裝步驟 拉取docker鏡像 docker pull dpage/pgadmin4直接簡單運行pgAdmin4 docker run --name pgAdmin4 -p 5050:80 \-e "PGADMIN_DEFAULT_EMAILuserdomain.com" \-e "PGAD…

ubuntu下安裝TFTP服務器

在 Ubuntu 系統下安裝和配置 TFTP(Trivial File Transfer Protocol)服務器可以按照以下步驟進行: 1. 安裝 TFTP 服務器軟件包 TFTP 服務器通常使用 tftpd-hpa 軟件包,你可以使用以下命令進行安裝: sudo apt update …

Softing線上研討會 | 自研還是購買——用于自動化產品的工業以太網

| 線上研討會時間:2025年1月27日 16:00~16:30 / 23:00~23:30 基于以太網的通信在工業自動化網絡中的重要性日益增加。設備制造商正面臨著一大挑戰——如何快速、有效且經濟地將工業以太網協議集成到其產品中。其中的關鍵問題包括:是否只需集成單一的工…