最近由于工作需要,研究了一下使用python zipfile從excel提取圖片的操作,但是隨之而來的問題是,Python提取出來的圖片順序是如何得來的?于是乎,我就測(cè)試了一下
新建一個(gè)excel,分別插入三張圖片,順序:1,2,3

excel插入圖片順序
import zipfile
from PIL import Image
import os
import re
test_file ='/Users/s/XXX/test/test.xlsx'
new_file = afile.replace(".xlsx",".zip")
os.rename(test_file,new_file)
number =1
saveDir = "/Users/s/XXX/test/"
azip = zipfile.ZipFile(new_file)
namelist = (azip.namelist())
print(namelist)
for idx in range(0,len(namelist)):
if 'media' in namelist[idx] and 'png' in namelist[idx]:
img_name = re.split(r'/',namelist[idx])[-1]
img_name=saveDir+img_name
f = azip.open(namelist[idx])
img = Image.open(f)
img = img.convert("RGB")
img.save(img_name,"png")
number += 1
azip.close()

namelist內(nèi)容
輸出的圖片順序如圖1

圖1
當(dāng)我改變圖片的插入順序?yàn)椋?,2,1(excel插入順序圖1),

excel插入順序圖1
抓取的圖片順序如圖3

圖3
同樣excel插入的順序我改成:2,3,1(excel插入順序圖2)

excel插入順序圖2
抓取的圖片的順序如圖4

圖4
由此可見,Python提取的圖片順序和插入圖片的順序一致。