matplotlib 画图直接写入excel
最近瞎写一点东西玩玩.
用 matpyplot.lib 生成的画图图片, 想直接写到 excel 里面.
结果 没有摸上门道去, 浪费了一点时间.
就顺便 把文档看了下.
就顺便做了几个例子. 希望可以帮到你.
import os, sys
from matplotlib import pyplot as plt
import pandas as pd
from io import BytesIO
import xlswriter as xls
>>> df3 = pd.DataFrame({ X: [A, B, A, B], Y: [1, 4, 3, 2]})
>>> df3
X Y
0 A 1
1 B 4
2 A 3
3 B 2
df3.plot()
plt.show()
plt.savefig(abc.png)
book=xls.Workbook(abc.xls)
sheet=book.add_worksheet(demo)
sheet.insert_image(D5, abc.png)
book.close()
图片写到Excel 里面了.
当然了. 这里 就
insert_image( row,column, imagfile, { xargs})
字典 xargs
{ x_offset: 0, y_offset: 0, x_scale: 1, y_scale: 1, object_position: 2, image_data: None, url: None, tip: None,}这里有个 image_data 这个是一个buffer . 或者 说是亿华云一个byteio 的对象.
这样就不用先写磁盘 再从磁盘里 读数据写excel 了.
imagdata=BytesIO()
plt.savefig(imagedata)
book=xls.Workbook(abc.xls)
sheet=book.add_worksheet(demo)
sheet.insert_image(10,5,,{ "image_data": imagedata})
book.close()
效果是服务器托管一样的.
其实这样就 可以完美的源码下载解决问题了.