python_openpyxl_向已存在的excel中插入图片

最近在做一个小项目的时候,遇到了一个需求,读取一个Excel中的数据,然后使用该文件中的数据,用matplotlib生成一张图,并将图重新插入到这个Excel中。网上看了几篇文章,都是用的xlsxwriter,但是xlsxwriter不能向指定的sheet中插入一张图片,只得放弃xlsxwriter。绕了一大圈,终于解决,其实用openpyxl也简单,几行代码就可以搞定了。


在这里插入图片描述



1 导包

from openpyxl import Workbook
from openpyxl.drawing.image import Image

2 定义工作簿并激活sheet

work_book = Workbook()
sheet = work_book.create_sheet(title="我的数据", index=0)  # title就是sheet名
"""
此处是向该sheet中添加数据
我是用pandas将原有的工作表中的数据读入,然后再sheet.append()到该sheet中
"""

3 向sheet中写入图片

# 读入一张图片
my_img = Image('./result.png')
# 将图片写入sheet中,A10是图片的插入位置
sheet.add_image(my_img, 'A10')

4 保存工作簿

work_book.save("我的数据.xlsx")

以上。


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐