1

我曾尝试从excel中提取图片,但是将插入到Excel中的文字或线条与图片分组后,提取图片时无法完全提取分组后的图片。我应该怎么办?

这是我尝试的代码

import os
import zipfile
import numpy as np
import win32com.client as win32
from PIL import Image

path = 'C:/Users/Peter/Desktop/test/'
count = 1
for file in os.listdir(path):
    new_file = file.replace(".xlsx",".zip")
    os.rename(os.path.join(path,file),os.path.join(path,new_file))
    count+=1

number = 0
list_dir = os.listdir(path)

for i in range(len(list_dir)):
    if 'zip' not in list_dir[i]:
        list_dir[i] = ''
while '' in list_dir:
    list_dir.remove('')

for zip_name in list_dir:
    azip = zipfile.ZipFile(path + zip_name)
    namelist = (azip.namelist())

    for idx in range(0,len(namelist)):
        #print(namelist[idx][:9])
        if namelist[idx][:9] == 'xl/media/':
        img_name = path + str(number)+'.jpg'
        f = azip.open(namelist[idx])
        img = Image.open(f)
        img = img.convert("RGB")
        img.save(img_name,"JPEG")
        number+=1 
        f.close()
azip.close()

for file in os.listdir(path):
    new_file = file.replace(".zip",".xlsx")
    os.rename(os.path.join(path,file),os.path.join(path,new_file))
    count+=1

这是我的excel文件,图片是从goole得到的,我加了文字和箭头进去。 在此处输入图像描述

这是我得到的图片,图片中没有文字或线条。 在此处输入图像描述

4

1 回答 1

1

我对 Excel 知之甚少,因此可能会有更好的解释,但在我看来,注释存储在您的 XLSX 存档中名为OpenXML的文件中。drawing1.xml

我可以看到您的两个红色三角形和40下面注释的标签 - 请注意val="ff0000"对应于红色。

在此处输入图像描述

于 2021-11-04T09:41:16.347 回答