环境:
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 xlwtworkbook = 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 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 MIMEMultipartsender_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 emailmail = 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