16

matplotlib ファイルを .tiff 画像として保存しています。Excelファイルを開いてそこに画像を貼り付けられるようにしたいと思います。

openpyxl は画像の埋め込みをサポートしていないようです。xlwt は bmp のみを行います。

あるいは、プログラムで tiff を bmp に変換できれば、それも役立つかもしれません。

どちらのアイデアも大歓迎です。

に似ている

複数の jpeg 画像をプログラムで EXCEL に埋め込みますか?

ただし、グラフの量が少ないため (ファイルあたり約 10 個)、tiff から bmp への変換は許容されます。

4

3 に答える 3

9

これが私がウェブ上の2つの異なるリンクから見つけたもので、私にとっては完璧に機能しました。Matplotlibでは、ここで使用するpngファイルを保存できます。

from PIL import Image

file_in = "image.png"
img = Image.open(file_in)
file_out = 'test1.bmp'
print len(img.split()) # test
if len(img.split()) == 4:
    # prevent IOError: cannot write mode RGBA as BMP
    r, g, b, a = img.split()
    img = Image.merge("RGB", (r, g, b))
    img.save(file_out)
else:
    img.save(file_out)

from xlwt import Workbook
w = Workbook()
ws = w.add_sheet('Image')
ws.insert_bitmap(file_out, 0, 0)
w.save('images.xls')

コードの画像部分は、ここhttp://www.daniweb.com/software-development/python/threads/253957/converting-an-image-file-png-to-a-bitmap-fileからのEneUrans応答からのものです。

xlwtは、http: //www.simplistix.co.uk/presentations/python-excel.pdfで見つけたxlwtのドキュメントを単に形成したものです。

于 2013-03-02T18:39:27.297 に答える