如何用Python将Excel中单元格的值与对应图片关联?
实现Excel图片评分关联的Python方法
作为Python初学者,你可以按以下步骤完成Excel中图片评分与实际图片的关联:
1. 安装依赖工具库
打开终端,运行以下命令安装所需库:
pip install pandas openpyxl pillow
pandas:用于读取和处理Excel数据openpyxl:支持读取.xlsx格式的Excel文件pillow:用于加载和操作图片文件
2. 读取Excel数据并整理成字典
把Excel里的图片名和对应Rating整理成键值对,方便快速匹配查找:
import pandas as pd # 替换成你的Excel文件实际路径 df = pd.read_excel("你的文件路径.xlsx", engine="openpyxl") # 将Name列设为索引,提取Rating列转成字典:键为图片名,值为对应评分 pic_rating_map = df.set_index("Name")["Rating"].to_dict() # 测试匹配效果,输出picture_1的评分 print(pic_rating_map.get("picture_1")) # 会输出4
3. 关联图片与评分
提供两种实用场景供你选择:
场景1:根据图片名匹配并输出评分
如果你的图片都存放在同一个文件夹(比如./images/),可以遍历图片文件,自动匹配Excel中的评分:
import os from PIL import Image # 替换成你的图片文件夹实际路径 image_dir = "./images/" # 遍历文件夹内所有文件 for filename in os.listdir(image_dir): # 只处理.jpeg格式的图片 if filename.endswith(".jpeg"): # 去掉文件后缀,得到和Excel一致的图片名(例:picture_1.jpeg → picture_1) pic_name = filename.split(".")[0] # 从字典中获取对应评分 rating = pic_rating_map.get(pic_name) if rating is not None: print(f"图片 {filename} 对应的评分是:{rating}") # 可选:打开图片查看 img = Image.open(os.path.join(image_dir, filename)) img.show() else: print(f"图片 {filename} 在Excel中没有对应记录")
场景2:在图片上直接标注评分
如果想把评分直接显示在图片上,方便直观查看,可以用Pillow的绘图功能:
from PIL import Image, ImageDraw, ImageFont import os image_dir = "./images/" # 替换成你的字体文件路径(Windows可使用系统自带黑体:C:\Windows\Fonts\simhei.ttf) font = ImageFont.truetype("simhei.ttf", 40) # 创建保存标注后图片的文件夹(如果不存在) os.makedirs("./rated_images/", exist_ok=True) for filename in os.listdir(image_dir): if filename.endswith(".jpeg"): pic_name = filename.split(".")[0] rating = pic_rating_map.get(pic_name) if rating: img_path = os.path.join(image_dir, filename) img = Image.open(img_path) draw = ImageDraw.Draw(img) # 在图片左上角用红色字体标注评分 draw.text((10, 10), f"Rating: {rating}", fill="red", font=font) # 保存标注后的图片到指定文件夹 img.save(f"./rated_images/{filename}") print(f"已为 {filename} 添加评分标注并保存")
注意事项
- 确保Excel中
Name列的内容和图片文件名(去掉后缀)完全一致,比如Excel里是picture_1,图片就得是picture_1.jpeg - 所有路径(Excel路径、图片文件夹路径)要填写正确,相对路径或绝对路径均可
- 用字体标注评分时,要确保字体文件存在,避免报错
内容的提问来源于stack exchange,提问作者del led
相关产品推荐
相关产品推荐

