2016-09-10 45 views
2

我想从Excel表格中提取图像。 Excel工作表基本上是包含图像和产品细节的产品列表。从Excel中逐行提取图像python

EmbeddedFiles = zipfile.ZipFile(path).namelist() 
ImageFiles = [F for F in EmbeddedFiles if F.count('.jpg') or F.count('.jpeg')] 

我可以一次提取所有的图像,但我不能想出一个办法来获得由行的图像,这样我可以产品保存到数据库和图像添加到相应的产品。

我使用的是从excel中读取的openpyxl,但没有提供获取图像的方法。我可以转移到其他图书馆。

什么是最好的方式来做到这一点。

+0

中发现的从我可以在这里看到你打开的是'zip'文件和你列出的所有内容由开行的文件和读取一行是图像。那个excel文件如何适合图片?图片是在一个zip文件中或编码在excel文件中? –

+0

xlsx实际上是压缩的,当你解压一个xlsx文件时,你会得到一个包含图像的文件夹 – sprksh

回答

0

xlsx文件确实是压缩格式,但这并不意味着您必须展开才能使用它。让openpyxl为你做。文档中的库提到它可以很好地处理这种格式。

所以尽量使用thisthisthis例如文档

+0

这个我已经在做。与openpyxl我可以迭代行,让我们说打印值,但它没有做任何有关图表中的图像。 – sprksh

+0

图像作为base64编码的字符串包含在单元格中?每个图像应该属于一个单元格,打开xlsx文件并单击图像以查看它属于哪个单元格。 –