Python办公自动化超酷的三方库集锦

环境:

Pycharm

Python 3.9.16


 

openpyxl

openpyxl是一个用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它是一个功能强大且灵活的库,适用于处理Excel文件的各种操作,比如创建新的工作簿、读取和修改现有的工作簿、添加图表、格式化单元格等。

安装:

pip install openpyxl

实例使用:

users.xlsx第一行的第一列,即列名 改为 ‘客户ID’,保存为新的工作簿output.xlsx

# -*- coding: utf-8 -*-from openpyxl import load_workbook
# 加载一个现有的工作簿wb = load_workbook('users.xlsx')# 激活默认的工作表ws = wb.active# 将第一行的第一列,即列名 改为 '客户ID'ws['A1'] = '客户ID'# 保存为新的工作簿wb.save('output.xlsx')

(左右滑动查看完整代码)

users.xlsx:

output.xlsx:

Pandas

Pandas是一个强大的数据处理和分析库,能够方便地读取和写入Excel文件。

安装:

pip install pandas

 

实例使用:

同样实现以上的实例,将users.xlsx第一行的第一列,即列名 改为 ‘客户ID’,保存为新的工作簿output.xlsx

import pandas as pd
# 读取Excel文件df = pd.read_excel('users.xlsx')
# 将第一列的列名修改为"客户ID"df.columns.values[0] = "客户ID"
# 保存修改后的DataFrame到新的Excel文件df.to_excel('output.xlsx', index=False)

(左右滑动查看完整代码)

users.xlsx:

output.xlsx:

xlrd

xlrd 是一个用于读取旧版本Excel文件(即 .xls 格式)的Python库。它不支持修改文件或写入新数据,仅适用于读取Excel 97-2003格式的文件。

注:现在不建议使用这个,使用openpyxl和pandas会更方便,这里介绍是证明它还存在。

安装:

pip install xlrd

实例使用:

users.xls中所有的内容读取出来

# -*- coding: utf-8 -*-import xlrd
# 打开Excel文件workbook = xlrd.open_workbook('users.xls')
# 选择第一个工作表sheet = workbook.sheet_by_index(0)
# 读取工作表的所有内容data = []for row_idx in range(sheet.nrows):  # 遍历所有的行    row = []    for col_idx in range(sheet.ncols):  # 遍历所有的列        cell_value = sheet.cell_value(row_idx, col_idx)        row.append(cell_value)    data.append(row)
# 打印读取的数据for row in data:    print(row)

(左右滑动查看完整代码)

users.xls:

xlwt

xlwt 是一个用于创建和写入旧版本Excel文件(即 .xls 格式)的Python库。它不支持修改现有文件,但可以创建新文件并写入数据。

注:现在不建议使用这个,使用openpyxl和pandas会更方便,这里介绍是证明它还存在。

安装:

pip install xlwt

实例使用:

将xlrd读取users.xls所有的内容再写入到output.xls中

# -*- coding: utf-8 -*-
import xlwt
# 创建一个新的工作簿workbook = xlwt.Workbook()
# 添加一个工作表sheet = workbook.add_sheet('Sheet1')
# 定义要写入的数据data = [    ['user_id', 'id', 'money', 'days'],    [10001.0, 2001.0, 0.0, 0.0],    [10002.0, 2002.0, 10875.36, 0.0],    [10003.0, 2003.0, 1105.8, 4.0],    [10004.0, 2004.0, 0.0, 0.0],    [10005.0, 2005.0, 3875.64, 0.0],    [10006.0, 2006.0, 0.0, 0.0]]
# 写入数据到工作表for row_idx, row in enumerate(data):    for col_idx, value in enumerate(row):        sheet.write(row_idx, col_idx, value)
# 保存工作簿workbook.save('output.xls')

(左右滑动查看完整代码)

output.xls结果:

 

python-docx

python-docx: 用于创建和修改Microsoft Word文档。

安装:

pip install python-docx

实例使用:

# -*- coding: utf-8 -*-from docx import Documentfrom docx.shared import Inches
# 创建一个新的Document对象doc = Document()# 添加标题doc.add_heading('徐志摩言', level=0)# 添加段落doc.add_paragraph('带一卷书,走十里路,选一个清净地,看天,听鸟,倦了时,和身在草绵绵处寻梦去。')# 插入图片doc.add_picture('image.jpg', width=Inches(4.0))  # 调整图片路径和宽度# 保存文档doc.save('output.docx')

(左右滑动查看完整代码)

reportlab

reportlab: 用于创建PDF文件。

安装:

pip install reportlab

实例使用:

# -*- coding: utf-8 -*-from reportlab.lib.pagesizes import letterfrom reportlab.pdfgen import canvasc = canvas.Canvas('output.pdf', pagesize=letter)# 设置字体和字体大小c.setFont("Helvetica", 18)# 添加文本c.drawString(100, 750, 'Hello, world!')# 添加图像c.drawImage("image.jpg", 100, 450, width=400, height=200)c.save()

(左右滑动查看完整代码)

 

smtplib

smtplib: 用于发送电子邮件。

安装:

pip install smtplib

实例使用:

# -*- coding: utf-8 -*-import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipart
sender_email = "your_email@example.com"receiver_email = "receiver@example.com"password = "your_password"
message = MIMEMultipart()message['From'] = sender_emailmessage['To'] = receiver_emailmessage['Subject'] = "Subject of the Mail"
body = "This is an example email."message.attach(MIMEText(body, 'plain'))
with smtplib.SMTP_SSL('smtp.example.com', 465) as server:    server.login(sender_email, password)    server.sendmail(sender_email, receiver_email, message.as_string())

(左右滑动查看完整代码)

imaplib

imaplib: 用于接收电子邮件。

安装:

pip install imaplib

实例使用:

# -*- coding: utf-8 -*-import imaplibimport email
mail = imaplib.IMAP4_SSL('imap.example.com')mail.login('your_email@example.com', 'your_password')mail.select('inbox')
status, messages = mail.search(None, 'ALL')mail_ids = messages[0].split()
for mail_id in mail_ids:    status, msg_data = mail.fetch(mail_id, '(RFC822)')    for response_part in msg_data:        if isinstance(response_part, tuple):            msg = email.message_from_bytes(response_part[1])            print(msg['subject'])

(左右滑动查看完整代码)

python-pptx

python-pptx 是一个用于读取、创建和修改 PowerPoint 文件(.pptx 格式)的Python库。使用 python-pptx,你可以通过Python代码操作 PowerPoint 文件,包括创建幻灯片、插入文本、插入图片、设置样式等功能。

安装:

pip install python-pptx

实例使用:

# -*- coding: utf-8 -*-from pptx import Presentationfrom pptx.dml.color import RGBColor
# 创建一个新的幻灯片对象prs = Presentation()
# 添加一张幻灯片slide = prs.slides.add_slide(prs.slide_layouts[0])
# 获取幻灯片的标题和正文框title = slide.shapes.titlecontent = slide.placeholders[1]
# 设置标题和内容title.text = "Title of the Slide"content.text = "Content of the Slide"
# 设置幻灯片底色background = slide.backgroundfill = background.fillfill.solid()fill.fore_color.rgb = RGBColor(173, 216, 230)
# 保存幻灯片文件prs.save('output.pptx')

总结

在工作中适当的使用一下自动化,有时候真可以让你的工作事半功倍,有兴趣的同学可试之!

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90564.html

(0)
guozi's avatarguozi
上一篇 2024年6月5日 下午5:44
下一篇 2024年6月5日 下午5:48

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注