相关疑难解决方法(0)

使用XlsxWriter将pandas图表插入Excel文件

我使用python 3.4,pandas 0.14.1和XlsxWriter 0.5.6.我使用pandas创建了一个名为'graph'的图形,其代码如下

 graph=data_iter['_DiffPrice'].hist() 
Run Code Online (Sandbox Code Playgroud)

,它产生一个美丽的直方图.

现在,如何使用XlsxWriter将该图形插入Excel文件?

我尝试了XlsxWriter方法

workbook.add_chart()
Run Code Online (Sandbox Code Playgroud)

但这会在Excel中创建一个图形,而不是我想要的图形.

谢谢

python pandas xlsxwriter

7
推荐指数
1
解决办法
1万
查看次数

将 matplotlib 图表直接导出到 Excel?无需先保存到文件

我正在尝试使用 xlsx writer 将 matplotlib 图像直接写入 Excel 文件 - 理想情况下不将文件保存到磁盘。

我找到了这个答案:将 pandas/matplotlib 图像直接写入 XLSX 文件,但我无法让它工作,尤其是在 Python 3 中。

这:wks1.insert_image(2,2, imgdata不起作用,因为:

路径应该是字符串、字节、os.PathLike 或整数,而不是 _io.BytesIO

wks1.insert_image(2,2,"",{'image data': imgdata}:) 发出警告

未找到图像文件“”。

并生成一个没有图表的excel文件。

什么工作是在本地保存文件 - 但我想了解是否有办法避免它。

fig.savefig('test.png', format='png')
wks1.insert_image(2,2, 'test.png')
Run Code Online (Sandbox Code Playgroud)

想法?完整代码是:

import xlsxwriter
import numpy as np
import matplotlib.pyplot as plt
import io

x=np.linspace(-10,10,100)
y=x**2

fig,ax=plt.subplots()
ax.plot(x,y)

workbook = xlsxwriter.Workbook('test chart.xlsx')
wks1=workbook.add_worksheet('Test chart')
wks1.write(0,0,'test')

imgdata=io.BytesIO()
fig.savefig(imgdata, format='png')

wks1.insert_image(2,2,"",{'image data': imgdata})
#wks1.insert_image(2,2, imgdata)

workbook.close()
Run Code Online (Sandbox Code Playgroud)

matplotlib python-3.x xlsxwriter

1
推荐指数
1
解决办法
7393
查看次数

标签 统计

xlsxwriter ×2

matplotlib ×1

pandas ×1

python ×1

python-3.x ×1