如何从excel个文件中获取成组的图片
How to get the pictures in group from excel files
我试过从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弄来的试了一下,加了文字和箭头进去。
这是我得到的图片,图片中没有文字或线条。
我对 Excel 知之甚少,所以可能会有更好的解释,但在我看来,注释存储在一个名为 OpenXML 的文件中drawing1.xml
在您的 XLSX 存档中。
我可以看到你的两个红色三角形和下面注释的标签 40
- 请注意 val="ff0000"
对应于红色。
我试过从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弄来的试了一下,加了文字和箭头进去。
这是我得到的图片,图片中没有文字或线条。
我对 Excel 知之甚少,所以可能会有更好的解释,但在我看来,注释存储在一个名为 OpenXML 的文件中drawing1.xml
在您的 XLSX 存档中。
我可以看到你的两个红色三角形和下面注释的标签 40
- 请注意 val="ff0000"
对应于红色。