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")