Извините, я новичок, поэтому, пожалуйста, будьте нежны. Есть ли способ отправить файл в памяти (созданный с использованием Matplotlib) в файл Excel? Я пытаюсь сделать это с помощью openpyxl, но не повезло. Какие-либо предложения? Спасибо!
Я взломал следующий код для создания объекта диаграммы в памяти:
import io
from PIL import Image
import matplotlib.pyplot as plt
plt.figure()
plt.plot([1, 2])
plt.title("test")
buf = io.BytesIO()
plt.savefig(buf, format='png')
buf.seek(0)
im = Image.open(buf)
wb = openpyxl.load_workbook('input.xlsx')
ws = wb.active
ws.add_image(im, 'A1')
wb.save('output.xlsx')
К сожалению, это привело к появлению следующего сообщения об ошибке:
UnboundLocalError: локальная переменная 'rel', на которую ссылается перед присваиванием
Любые предложения будут с благодарностью. Спасибо!
Примечание: следующее работает, но неэффективно.
wb = openpyxl.load_workbook('input.xlsx')
ws = wb.active
img = openpyxl.drawing.image.Image('my_chart.png')
ws.add_image(img, 'A1')
wb.save('output.xlsx')