最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python辦公自動化處理的10大場景應(yīng)用示例

 更新時間:2022年06月27日 14:37:39   作者:python大數(shù)據(jù)分析  
這篇文章主要為大家介紹了Python辦公自動化處理的10大場景應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

知乎上有個熱門問題,Python 未來會成為大眾辦公常用編程工具嗎?

在編程世界里,Python已經(jīng)是名副其實的網(wǎng)紅了。曾經(jīng)一個學(xué)漢語言的研究生,問我怎么學(xué)Python,因為他們課程論文里需要用到文本分析,用Python來跑數(shù)據(jù)。我和他說,你看兩天語法,就可以上手開干,不會的再查資料。后來這位同學(xué)半個月就用Python把論文數(shù)據(jù)搞好了。

所以Python最大優(yōu)勢在于容易學(xué),門檻比Java、C++低非常多,給非程序員群體提供了用代碼干活的可能性。當(dāng)然Python能成為大眾編程工具,不光光是因為易學(xué),還因為Python有成千上萬的工具包,遍布各行各業(yè)。

舉10幾個辦公自動化常見的例子,Python都能高效處理。

1、Python處理Excel數(shù)據(jù)

可以使用pandas、xlwings、openpyxl等包來對Excel進(jìn)行增刪改查、格式調(diào)整等操作,甚至可以使用Python函數(shù)來對excel數(shù)據(jù)進(jìn)行分析。

讀取excel表格

import xlwings as xw
wb = xw.Book()  # this will create a new workbook
wb = xw.Book('FileName.xlsx')  # connect to a file that is open or in the current working directory
wb = xw.Book(r'C:\path\to\file.xlsx')  # on Windows: use raw strings to escape backslashes

將matplotlib繪圖寫入excel表格

import matplotlib.pyplot as plt
import xlwings as xw
fig = plt.figure()
plt.plot([1, 2, 3])
sheet = xw.Book().sheets[0]
sheet.pictures.add(fig, name='MyPlot', update=True)

2、Python處理PDF文本

PDF幾乎是最常見的文本格式,很多人有各種處理PDF的需求,比如制作PDF、獲取文本、獲取圖片、獲取表格等。Python中有PyPDF、pdfplumber、ReportLab、PyMuPDF等包可以輕松實現(xiàn)這些需求。

提取PDF文字

import PyPDF2
pdfFile = open('example.pdf','rb')
pdfReader = PyPDF2.PdfFileReader(pdfFile)
print(pdfReader.numPages)
page = pdfReader.getPage(0)
print(page.extractText())
pdfFile.close()

提取PDF表格

# 提取pdf表格
import pdfplumber
with pdfplumber.open("example.pdf") as pdf:
    page01 = pdf.pages[0] #指定頁碼
    table1 = page01.extract_table()#提取單個表格
    # table2 = page01.extract_tables()#提取多個表格
    print(table1)

3、Python處理Email

在Python中可以使用smtplib配合email庫,來實現(xiàn)郵件的自動化傳輸,非常方便。

import smtplib
import email
# 負(fù)責(zé)將多個對象集合起來
from email.mime.multipart import MIMEMultipart
from email.header import Header
# SMTP服務(wù)器,這里使用163郵箱
mail_host = "smtp.163.com"
# 發(fā)件人郵箱
mail_sender = "******@163.com"
# 郵箱授權(quán)碼,注意這里不是郵箱密碼,如何獲取郵箱授權(quán)碼,請看本文最后教程
mail_license = "********"
# 收件人郵箱,可以為多個收件人
mail_receivers = ["******@qq.com","******@outlook.com"]
mm = MIMEMultipart('related')
# 郵件正文內(nèi)容
body_content = """你好,這是一個測試郵件!"""
# 構(gòu)造文本,參數(shù)1:正文內(nèi)容,參數(shù)2:文本格式,參數(shù)3:編碼方式
message_text = MIMEText(body_content,"plain","utf-8")
# 向MIMEMultipart對象中添加文本對象
mm.attach(message_text)
# 創(chuàng)建SMTP對象
stp = smtplib.SMTP()
# 設(shè)置發(fā)件人郵箱的域名和端口,端口地址為25
stp.connect(mail_host, 25)  
# set_debuglevel(1)可以打印出和SMTP服務(wù)器交互的所有信息
stp.set_debuglevel(1)
# 登錄郵箱,傳遞參數(shù)1:郵箱地址,參數(shù)2:郵箱授權(quán)碼
stp.login(mail_sender,mail_license)
# 發(fā)送郵件,傳遞參數(shù)1:發(fā)件人郵箱地址,參數(shù)2:收件人郵箱地址,參數(shù)3:把郵件內(nèi)容格式改為str
stp.sendmail(mail_sender, mail_receivers, mm.as_string())
print("郵件發(fā)送成功")
# 關(guān)閉SMTP對象
stp.quit()

4、Python處理數(shù)據(jù)庫

數(shù)據(jù)庫是我們常用的辦公應(yīng)用,Python中有各種數(shù)據(jù)庫驅(qū)動接口包,支持對數(shù)據(jù)庫的增刪改查、運(yùn)維管理工作。比如說pymysql包對應(yīng)MySQL、psycopg2包對應(yīng)PostgreSQL、pymssql包對應(yīng)sqlserver、cxoracle包對應(yīng)Oracle、PyMongo包對應(yīng)MongoDB等等。

對MySQL的連接查詢

import pymysql
# 打開數(shù)據(jù)庫連接
db = pymysql.connect(host='localhost',
                     user='testuser',
                     password='test123',
                     database='TESTDB') 
# 使用 cursor() 方法創(chuàng)建一個游標(biāo)對象 cursor
cursor = db.cursor()
# 使用 execute()  方法執(zhí)行 SQL 查詢 
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法獲取單條數(shù)據(jù).
data = cursor.fetchone()
print ("Database version : %s " % data)
# 關(guān)閉數(shù)據(jù)庫連接
db.close()

5、Python處理批量文件

對很多辦公場景來說,批量處理文件一直是個臟活累活,Python可以幫你脫離苦海。Python中有很多處理系統(tǒng)文件的包,比如sys、os、shutil、glob、path.py等等。

批量刪除不同文件夾下的同名文件夾

import os,shutil
import sys
import numpy as np
def arrange_file(dir_path0):
  for dirpath,dirnames,filenames in os.walk(dir_path0):
    if 'my_result' in dirpath:
      # print(dirpath)
      shutil.rmtree(dirpath)

批量修改文件后綴名

import os
def file_rename():
    path = input("請輸入你需要修改的目錄(格式如'F:\\test'):")
    old_suffix = input('請輸入你需要修改的后綴(需要加點(diǎn).):')
    new_suffix = input('請輸入你要改成的后綴(需要加點(diǎn).):')
    file_list = os.listdir(path)
    for file in file_list:
        old_dir = os.path.join(path, file)
        print('當(dāng)前文件:', file)
        if os.path.isdir(old_dir):
            continue
        if old_suffix != os.path.splitext(file)[1]:
            continue
        filename = os.path.splitext(file)[0]
        new_dir = os.path.join(path, filename + new_suffix)
        os.rename(old_dir, new_dir)
if __name__ == '__main__':
    file_rename()

6、Python控制鼠標(biāo)

這是很多人的需求,實現(xiàn)對鼠標(biāo)的自動控制,去做一些流水線的工作,比如軟件測試。

Python有個pyautogui庫可以任意地去控制你的鼠標(biāo)。

控制鼠標(biāo)左擊/右擊/雙擊函數(shù)以及測試源碼

# 獲取鼠標(biāo)位置
import pyautogui as pg
try:
    while True:
        x, y = pg.position()
        print(str(x) + " " + str(y))  #輸出鼠標(biāo)位置
        if 1746 < x < 1800 and 2 < y < 33:
            pg.click()#左鍵單擊
        if 1200 < x < 1270 and 600 < y < 620:
            pg.click(button='right')#右鍵單擊
        if 1646 < x < 1700 and 2 < y < 33:
            pg.doubleClick()#左鍵雙擊
except KeyboardInterrupt:
    print("\n")

7、Python控制鍵盤

同樣的,Python也可以通過pyautogui控制鍵盤。

鍵盤寫入

import pyautogui
#typewrite()無法輸入中文內(nèi)容,中英文混合的只能輸入英文
#interval設(shè)置文本輸入速度,默認(rèn)值為0
pyautogui.typewrite('你好,world!',interval=0.5)

8、Python壓縮文件

壓縮文件是辦公中常見的操作,一般壓縮會使用壓縮軟件,需要手動操作。

Python中有很多包支持文件壓縮,可以讓你自動化壓縮或者解壓縮本地文件,或者將內(nèi)存中的分析結(jié)果進(jìn)行打包。比如zipfile、zlib、tarfile等可以實現(xiàn)對.zip、.rar、.7z等壓縮文件格式的操作。

壓縮文件

import zipfile
try:
  with zipfile.ZipFile("c://test.zip",mode="w") as f:
    f.write("c://test.txt")          #寫入壓縮文件,會把壓縮文件中的原有覆蓋
except Exception as e:
    print("異常對象的類型是:%s"%type(e))
    print("異常對象的內(nèi)容是:%s"%e)
finally:
    f.close()

解壓文件

import zipfile
try:
  with zipfile.ZipFile("c://test.zip",mode="a") as f:
     f.extractall("c://",pwd=b"root") ##將文件解壓到指定目錄,解壓密碼為root
except Exception as e:
     print("異常對象的類型是:%s"%type(e))
     print("異常對象的內(nèi)容是:%s"%e)
finally:
     f.close()

9、Python爬取網(wǎng)絡(luò)數(shù)據(jù)

python爬蟲應(yīng)該是最受歡迎的功能,也是廣大Python愛好者們?nèi)肟拥闹饕脑颉?/p>

Python中有非常多的包支持爬蟲,而爬蟲包又分為抓取、解析兩種。

比如說requests、urllib這種是網(wǎng)絡(luò)數(shù)據(jù)請求工具,也就是抓取包;xpath、re、bs4這種會對抓取下來的網(wǎng)頁內(nèi)容進(jìn)行解析,稱為解析包。

爬取百度首頁圖片,并保存到本地

# 導(dǎo)入urlopen
from urllib.request import urlopen
# 導(dǎo)入BeautifulSoup
from bs4 import BeautifulSoup as bf
# 導(dǎo)入urlretrieve函數(shù),用于下載圖片
from urllib.request import urlretrieve
# 請求獲取HTML
html = urlopen("http://www.baidu.com/")
# 用BeautifulSoup解析html
obj = bf(html.read(),'html.parser')
# 從標(biāo)簽head、title里提取標(biāo)題
title = obj.head.title
# 只提取logo圖片的信息
logo_pic_info = obj.find_all('img',class_="index-logo-src")
# 提取logo圖片的鏈接
logo_url = "https:"+logo_pic_info[0]['src']
# 使用urlretrieve下載圖片
urlretrieve(logo_url, 'logo.png')

10、Python處理圖片圖表

圖片處理、圖表可視化涉及到圖像處理,這也是Python的強(qiáng)項,現(xiàn)在諸如圖像識別、計算機(jī)視覺等前沿領(lǐng)域也都會用到Python。

在Python中處理圖像的包有scikit Image、PIL、OpenCV等,處理圖表的包有matplotlib、plotly、seaborn等。

對圖片進(jìn)行黑白化處理

from PIL import Image
from PIL import ImageEnhance
img_main = Image.open(u'E:/login1.png')
img_main = img_main.convert('L')
threshold1 = 138
table1 = []
for i in range(256):
  if i < threshold1:
    table1.append(0)
  else:
    table1.append(1)
img_main = img_main.point(table1, "1")
img_main.save(u'E:/login3.png')

生成統(tǒng)計圖表

import numpy as np
import matplotlib.pyplot as plt
N = 5
menMeans = (20, 35, 30, 35, 27)
womenMeans = (25, 32, 34, 20, 25)
menStd = (2, 3, 4, 1, 2)
womenStd = (3, 5, 2, 3, 3)
ind = np.arange(N)    # the x locations for the groups
width = 0.35       # the width of the bars: can also be len(x) sequence
p1 = plt.bar(ind, menMeans, width, yerr=menStd)
p2 = plt.bar(ind, womenMeans, width,
             bottom=menMeans, yerr=womenStd)
plt.ylabel('Scores')
plt.title('Scores by group and gender')
plt.xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5'))
plt.yticks(np.arange(0, 81, 10))
plt.legend((p1[0], p2[0]), ('Men', 'Women'))
plt.show()

小結(jié)

總之Python會成為大眾化的編程語言,幫助到更多需要的人,更多關(guān)于Python辦公自動化處理的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 10個有用的Python字符串函數(shù)小結(jié)

    10個有用的Python字符串函數(shù)小結(jié)

    本文主要介紹了10個有用的Python字符串函數(shù)小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 使用Python獲取并處理IP的類型及格式方法

    使用Python獲取并處理IP的類型及格式方法

    今天小編就為大家分享一篇使用Python獲取并處理IP的類型及格式方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • pyppeteer執(zhí)行js繞過webdriver監(jiān)測方法下

    pyppeteer執(zhí)行js繞過webdriver監(jiān)測方法下

    這篇文章主要為大家介紹了pyppeteer上執(zhí)行js并繞過webdriver監(jiān)測常見方法的上篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • 深入解析NumPy中的Broadcasting廣播機(jī)制

    深入解析NumPy中的Broadcasting廣播機(jī)制

    在吳恩達(dá)老師的深度學(xué)習(xí)專項課程中,老師有提到NumPy中的廣播機(jī)制,同時那一周的測驗也有涉及到廣播機(jī)制的題目。那么,到底什么是NumPy中的廣播機(jī)制?本文就來介紹一下
    2021-05-05
  • python實現(xiàn)高斯投影正反算方式

    python實現(xiàn)高斯投影正反算方式

    今天小編就為大家分享一篇python實現(xiàn)高斯投影正反算方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 談?wù)勅绾问謩俞尫臥ython的內(nèi)存

    談?wù)勅绾问謩俞尫臥ython的內(nèi)存

    Python不會自動清理這些內(nèi)存,這篇文章主要介紹了談?wù)勅绾问謩俞尫臥ython的內(nèi)存,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • OpenCV實現(xiàn)去除背景識別的方法總結(jié)

    OpenCV實現(xiàn)去除背景識別的方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了如何利用OpenCV實現(xiàn)去除背景識別的功能,文中為大家總結(jié)了一些方法,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下
    2022-10-10
  • Python實現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割代碼

    Python實現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割代碼

    這篇文章主要介紹了Python實現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割方法,本文分別給出代碼實例,需要的朋友可以參考下
    2015-05-05
  • python 自定義裝飾器實例詳解

    python 自定義裝飾器實例詳解

    這篇文章主要介紹了python 自定義裝飾器,結(jié)合實例形式分析了Python自定義裝飾器的功能、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-07-07
  • Python實現(xiàn)矩陣可視化的示例代碼

    Python實現(xiàn)矩陣可視化的示例代碼

    matplotlib中提供了兩個矩陣可視化函數(shù),分別是imshow和matshow,本文主要為大家詳細(xì)介紹了如何使用這兩個函數(shù),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10

最新評論

长丰县| 乌拉特中旗| 钟山县| 鲁甸县| 奈曼旗| 抚松县| 大连市| 河东区| 额济纳旗| 浠水县| 九龙县| 乃东县| 富民县| 永州市| 句容市| 葵青区| 安新县| 会泽县| 武汉市| 信丰县| 内丘县| 龙门县| 蕉岭县| 房山区| 临澧县| 天镇县| 南充市| 庆安县| 辰溪县| 望奎县| 西宁市| 德江县| 望都县| 全椒县| 呼伦贝尔市| 苏尼特左旗| 临沂市| 武陟县| 突泉县| 三都| 孙吴县|