【发布时间】:2019-05-28 09:05:59
【问题描述】:
我正在尝试使用 python 读取 Excel,Excel 有两列名称作为 Product_Name,第二列是 LOGO。顾名思义,产品名称包含产品名称,如鱼,笔记本电脑,而第二列包含该产品名称的徽标。我正在尝试从 LOGO 列中保存图像,图像名称为产品名称。下面的代码工作正常,但产品名称和保存的图像不匹配
import win32com.client # Need pywin32 from pip
from PIL import ImageGrab # Need PIL as well
import os
excel = win32com.client.Dispatch("Excel.Application")
workbook = excel.ActiveWorkbook
wb_folder = workbook.Path
wb_name = workbook.Name
wb_path = os.path.join(wb_folder, wb_name)
print(wb_path)
print("Extracting images from %s" % wb_path)
image_no = 0
for sheet in workbook.Worksheets:
if(sheet.Name == "Ch"):
for shape,r in zip(sheet.Shapes,range(4,200)):
if shape.Name.startswith("Picture"):
image_no += 1
print("---- Image No. %07i ----" % image_no)
print(r)
imagen = sheet.Cells(r,'E').value
filename = sheet.Cells(r,'E').value + ".jpg"
file_path = os.path.join (wb_folder, filename)
print("Saving as %s" % file_path) # Debug output
shape.Copy() # Copies from Excel to Windows clipboard
# Use PIL (python imaging library) to save from Windows clipboard
# to a file
image = ImageGrab.grabclipboard()
print(image)
try:
image.save(file_path,'jpeg')
except AttributeError:
F = open('error.txt','w')
F.write(imagen)
F.close()
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
标签: python python-3.x image pywin32