>백엔드 개발 >파이썬 튜토리얼 >Python 사무 자동화의 상위 10가지 시나리오를 알고 계십니까?

Python 사무 자동화의 상위 10가지 시나리오를 알고 계십니까?

WBOY
WBOY앞으로
2023-04-12 21:55:121473검색

프로그래밍 세계에서 Python은 이미 진정한 인터넷 유명 인사입니다. 한번은 중국어를 공부하는 한 대학원생이 저에게 Python을 배우는 방법을 물었습니다. 수업에서 텍스트 분석을 사용하고 Python을 사용하여 데이터를 실행해야 했기 때문입니다. 이틀 안에 문법을 읽으면 작업을 시작할 수 있다고 말했습니다. 방법을 모르면 정보를 찾아보면 됩니다. 나중에 이 동급생은 Python을 사용하여 반달 만에 종이 데이터를 완성했습니다.

그래서 Python의 가장 큰 장점은 배우기 쉽다는 점이며, Java나 C++에 비해 임계값이 훨씬 낮아 프로그래머가 아닌 사람도 코드 작업을 할 수 있는 가능성을 제공합니다. 물론 Python은 배우기 쉬울 뿐만 아니라 Python이 각계각층에 걸쳐 수천 개의 툴킷을 보유하고 있기 때문에 널리 사용되는 프로그래밍 도구가 될 수 있습니다.

Python 사무 자동화의 상위 10가지 시나리오를 알고 계십니까?

공공기관의 일반적인 예 10개 이상을 꼽자면 Python이 이를 효율적으로 처리할 수 있습니다.

1. Python은 Excel 데이터를 처리합니다

Pandas, xlwings, openpyxl 및 기타 패키지를 사용하여 Excel에서 추가, 삭제, 수정, 확인, 서식 지정 등을 수행할 수 있습니다. Python 기능을 사용하여 Excel 데이터를 분석할 수도 있습니다.

Python 사무 자동화의 상위 10가지 시나리오를 알고 계십니까?

엑셀 표 읽기:

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:pathtofile.xlsx')# on Windows: use raw strings to escape backslashes

matplotlib 그리기를 엑셀 표로 작성:

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)

Python 사무 자동화의 상위 10가지 시나리오를 알고 계십니까?

2. Python은 PDF 텍스트를 처리합니다

PDF는 거의 가장 일반적인 텍스트 형식입니다. 많은 사람들이 PDF 만들기, 텍스트 가져오기, 사진 가져오기, 테이블 가져오기 등 PDF 처리에 대한 다양한 요구 사항이 있습니다. 이러한 요구 사항을 쉽게 충족할 수 있는 PyPDF, pdfplumber, ReportLab 및 PyMuPDF와 같은 Python 패키지가 있습니다.

Python 사무 자동화의 상위 10가지 시나리오를 알고 계십니까?

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 처리 이메일

Python에서는 이메일 자동 전송을 실현하기 위해 이메일 라이브러리와 함께 smtplib를 사용할 수 있습니다. 매우 편리합니다.

import smtplib
import email
# 负责将多个对象集合起来
from email.mime.multipart import MIMEMultipart
from email.header import Header
# SMTP服务器,这里使用163邮箱
mail_host = "smtp.163.com"
# 发件人邮箱
mail_sender = "******@163.com"
# 邮箱授权码,注意这里不是邮箱密码,如何获取邮箱授权码,请看本文最后教程
mail_license = "********"
# 收件人邮箱,可以为多个收件人
mail_receivers = ["******@qq.com","******@outlook.com"]
mm = MIMEMultipart('related')
# 邮件正文内容
body_content = """你好,这是一个测试邮件!"""
# 构造文本,参数1:正文内容,参数2:文本格式,参数3:编码方式
message_text = MIMEText(body_content,"plain","utf-8")
# 向MIMEMultipart对象中添加文本对象
mm.attach(message_text)
# 创建SMTP对象
stp = smtplib.SMTP()
# 设置发件人邮箱的域名和端口,端口地址为25
stp.connect(mail_host, 25)
# set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息
stp.set_debuglevel(1)
# 登录邮箱,传递参数1:邮箱地址,参数2:邮箱授权码
stp.login(mail_sender,mail_license)
# 发送邮件,传递参数1:发件人邮箱地址,参数2:收件人邮箱地址,参数3:把邮件内容格式改为str
stp.sendmail(mail_sender, mail_receivers, mm.as_string())
print("邮件发送成功")
# 关闭SMTP对象
stp.quit()

4. Python이 데이터베이스를 처리합니다

데이터베이스는 일반적으로 사용되는 사무용 애플리케이션입니다. Python에는 데이터베이스의 추가, 삭제, 수정 및 운영 관리를 지원하는 다양한 데이터베이스 드라이버 인터페이스 패키지가 있습니다. 예를 들어, pymysql 패키지는 MySQL에 해당하고, psycopg2 패키지는 PostgreSQL에 해당하고, pymssql 패키지는 sqlserver에 해당하고, cxoracle 패키지는 Oracle에 해당하고, PyMongo 패키지는 MongoDB에 해당합니다.

MySQL에 대한 연결 쿼리

import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost',
 user='testuser',
 password='test123',
 database='TESTDB') 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute()方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("Database version : %s " % data)
# 关闭数据库连接
db.close()

5. 배치 파일을 처리하는 Python

많은 사무실 시나리오에서 파일의 배치 처리는 항상 지저분한 작업이었으며 Python은 ​​불행. Python에는 sys, os, quitil, 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('请输入你需要修改的后缀(需要加点.):')
new_suffix = input('请输入你要改成的后缀(需要加点.):')
file_list = os.listdir(path)
for file in file_list:
old_dir = os.path.join(path, file)
print('当前文件:', 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 제어 마우스

이것은 많은 사람들이 자동 제어를 실현해야 합니다. 마우스 제어 및 소프트웨어 테스트와 같은 일부 조립 라인 작업을 수행합니다.

Python에는 마우스를 임의로 제어할 수 있는 pyautogui 라이브러리가 있습니다.

마우스 왼쪽 클릭/오른쪽 클릭/더블 클릭 제어 및 소스 코드 테스트:

# 获取鼠标位置
import pyautogui as pg
try:
while True:
x, y = pg.position()
print(str(x) + " " + str(y))#输出鼠标位置
 
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()无法输入中文内容,中英文混合的只能输入英文
#interval设置文本输入速度,默认值为0
pyautogui.typewrite('你好,world!',interval=0.5)

8、Python压缩文件

压缩文件是办公中常见的操作,一般压缩会使用压缩软件,需要手动操作。

Python中有很多包支持文件压缩,可以让你自动化压缩或者解压缩本地文件,或者将内存中的分析结果进行打包。比如zipfile、zlib、tarfile等可以实现对.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("异常对象的内容是:%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("异常对象的内容是:%s"%e)
finally:
 f.close()

9、Python爬取网络数据

python爬虫应该是最受欢迎的功能,也是广大Python爱好者们入坑的主要的原因。

Python中有非常多的包支持爬虫,而爬虫包又分为抓取、解析两种。

比如说requests、urllib这种是网络数据请求工具,也就是抓取包;xpath、re、bs4这种会对抓取下来的网页内容进行解析,称为解析包。

爬取百度首页图片,并保存到本地:

# 导入urlopen
from urllib.request import urlopen
# 导入BeautifulSoup
from bs4 import BeautifulSoup as bf
# 导入urlretrieve函数,用于下载图片
from urllib.request import urlretrieve
# 请求获取HTML
html = urlopen("http://www.baidu.com/")
# 用BeautifulSoup解析html
obj = bf(html.read(),'html.parser')
# 从标签head、title里提取标题
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的强项,现在诸如图像识别、计算机视觉等前沿领域也都会用到Python。

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

对图片进行黑白化处理:

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')

生成统计图表:

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()

小结

总之Python会成为大众化的编程语言,帮助到更多需要的人。

위 내용은 Python 사무 자동화의 상위 10가지 시나리오를 알고 계십니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제