В настоящее время я пытаюсь построить данные DataFrame и добавить их в слайд pptx.Я использовал matplotlib + pptx-python, чтобы сделать работу.В процессе я попытался сохранить изображение графика в потоке памяти и использовать его для слайдов pptx.Шаги:
import io
from PIL import Image
from pptx import Presentation
from pptx.util import Inches
#1. Run Python-pptx and open presentation
prs = Presentation('Template.pptx')
title_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
title.text = 'FileName'
left = top = Inches(1)
#2. plot the data in matplotlib
fig, ax = plt.subplots()
df.groupby('Name').plot(x='Time',y='Score', ax=ax)
#3. save the plot to io in-memory stream
buf = io.BytesIO()
fig.savefig(buf, format='png')
buf.seek(0)
im = Image.open(buf)
#4. add image to slide
pic = slide.shapes.add_picture(im, left, top)
Но я получил такую ошибку:
AttributeError: 'PngImageFile' object has no attribute 'read'
Знаете ли вы, как решить эту проблему?Кстати, я использую Python 3.6.Я попытался обновить пакет PIL и использовать форматы «png» и «jpg» для своего изображения.Все усилия не сработали.