【openpyxl-驯化】一文搞懂python是如何将文本、图片写入到execl中的技巧
本次修炼方法请往下查看
🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!
🎇 相关内容文档获取 微信公众号
🎇 相关内容视频讲解 B站
🎓 博主简介:AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验。
🔧 技术专长: 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100% 。
📝 博客风采: 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。
🌵文章目录🌵
下滑查看解决方法
🎯 1.基本介绍
我们在进行图片的分类等处理过程中,经常需要将图片插入到execl中,并对其进行显示,这个时候我们需要用到openpyxl库来对其进行处理,openpyxl 是一个 Python 库,用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件。它提供了丰富的功能,包括创建工作簿、操作工作表、添加图片等。本文将介绍如何使用 openpyxl 在 Excel 工作表中插入文本和图片。
💡 2. 代码用法
2.1 安装 openpyxl
首先,确保安装了 openpyxl 库。如果尚未安装,可以通过以下命令安装:,具体的操作如下:
pip install openpyxl
2.2 创建工作簿和工作表
在插入图片数据之前,我们需要初始化一个execl的类,具体的代码如下所示:
from openpyxl import Workbook
from openpyxl.drawing.image import Image
import os
# 创建一个新的工作簿
wb = Workbook()
# 选择活动工作表
ws = wb.active
2.3 准备数据
为了使得大家更加清晰的理解,我们构造相关的图片和文本的数据对,具体的代码如下所示:
# 假设你的数据是以下形式的列表,其中每个元素是一个包含文本和图片路径的元组
data = [
("文本1", "path/to/image1.png"),
("文本2", "path/to/image2.png"),
# ... 更多数据
]
2.4 遍历数据并插入文本和图片
接着我们遍历文本图片对并将其写入到对应的格子中,具体的代码如下所示:
# 遍历数据,写入文本和图片
for index, (text, image_path) in enumerate(data, start=1):
# 写入文本到第一列
ws.cell(row=index, column=1).value = text
# 确保图片文件存在
if os.path.exists(image_path):
# 将图片添加到工作表中,放在第二列
img = Image(image_path)
# 计算图片的放置位置,这里假设放在B列
ws.add_image(img, f'B{index}')
# 保存工作簿到文件
wb.save("example.xlsx")
💡 3. 高级用法
3.1 调整图片大小和位置
可以通过 img.width 和 img.height 属性调整图片大小,并通过 ws.add_image 方法的 cell 参数调整图片位置,这样可以使得图片在execl中显示的更加的美观,具体的代码如下所示:
#设置图片的大小
img.width, img.height = (350, 350)
# 设置表格的宽20和高85
ws.column_dimensions["B"].width = 60
ws.row_dimensions[index].height = 300
# 图片插入名称对应单元格
💡 4. 注意事项
- 确保图片路径正确,且图片文件存在于给定路径。
- openpyxl 支持插入多种格式的图片,包括 PNG、JPEG 等。
- 在调整图片大小时,注意保持图片的宽高比,以避免图片变形。
💡 5. 总结
openpyxl 是一个功能强大的库,用于操作 Excel 文件。通过本博客的代码示例,我们学习了如何使用 openpyxl 在 Excel 中插入文本和图片。这些技术可以用于生成报告、制作图表或其他需要将文本和图片结合展示的场景。希望这篇博客能够帮助你更好地利用 openpyxl 进行 Excel 操作。