环境:
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中
import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
data = [
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ]
]
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 Document
from 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 letter
from reportlab.pdfgen import canvas
c = 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 smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
sender_email = "your_email@example.com"
receiver_email = "receiver@example.com"
password = "your_password"
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = receiver_email
message['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 imaplib
import 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 Presentation
from pptx.dml.color import RGBColor
# 创建一个新的幻灯片对象
prs = Presentation()
# 添加一张幻灯片
slide = prs.slides.add_slide(prs.slide_layouts[0])
# 获取幻灯片的标题和正文框
title = slide.shapes.title
content = slide.placeholders[1]
# 设置标题和内容
title.text = "Title of the Slide"
content.text = "Content of the Slide"
# 设置幻灯片底色
background = slide.background
fill = background.fill
fill.solid()
fill.fore_color.rgb = RGBColor(173, 216, 230)
# 保存幻灯片文件
prs.save('output.pptx')
总结
在工作中适当的使用一下自动化,有时候真可以让你的工作事半功倍,有兴趣的同学可试之!
原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90564.html