Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >对比excel,用python根据对应内容,向excel插入对应的图片!

对比excel,用python根据对应内容,向excel插入对应的图片!

作者头像
Python与Excel之交
发布于 2021-08-05 07:50:23
发布于 2021-08-05 07:50:23
3.2K00
代码可运行
举报
文章被收录于专栏:Python与Excel之交Python与Excel之交
运行总次数:0
代码可运行

Hi~大家好!我是小刀!

今天分享一份小案例,这里有一份excel姓名名单,想要根据姓名在旁边插入对应的图片图片都是命名好的,如果自己一个一个插入需要很久,所以跟大家分享python和excel批量插入图片的方法,下面就让我们来一起操作下吧!

材料

一份表格:

需要插入的图片:

EXCEL

excel关于插入对应的内容图片的方法有挺多的,这里讲解我认为最简单的一种,无需VBA代码和工具,只需要一点数据排序技巧即可,下面开始实战。

先选择姓名列,点击数据选项卡,在排序和筛选组下选择升序排序:

根据自己的喜好,设置好存放图片单元格的行高列宽

插入图片,这步可能与其它软件版本不同,但最终结果是插入对应的图片即可:点击插入选项卡,在插图组中选择图片下拉箭头,再选择此设备

在弹出的插入图片窗口中选择需要插入的图片:

插入的图片可能大小不一,所以我们先根据单元格大小调整图片的大小。

调整图片大小时需先把图片属性中的锁定纵横比给去掉,而图片大小最好根据像素设置:

将最前面的一张图片放在最后一个单元格中,接着选择全部图片,然后点击图片格式选项卡,在排序组中选择对齐,然后选择水平居中和纵向分布,最后调整到合适的位置。

结果:

Python

在实现之前,我们需要明确知道具体的任务目标,是利用python根据对应内容,向excel插入对应的图片;而在材料中我们得知,excel表格A列为对应内容B列为需要插入对应的图片列,图片具有特定名称。

① 取得excel表格中A列的对应内容 ② 根据内容取出图片 ③ 根据A列对应内容,向B列写入图片

所以本文用python向excel插入图片,使用的库是openpyxlos,这两个都是老熟人了,安装可用pip命令进行安装。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install 库名

openpyxl库对excel文件进行读取和写入,其中用到openpyxl库中的Image模块,而他是基于PIL库构造而成,PIL库大家也知道,是一个编辑图片的神器。os库用于获取图片路径。

下面是完整源码,相关内容后面都添加了注释:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import openpyxl
from openpyxl.drawing.image import Image
import os

excel_file_path = 'image.xlsx'
image_name_column = 'A'
image_column = 'B'
image_path = './图片'

wb = openpyxl.load_workbook(excel_file_path)  # 打开excel工作簿
ws = wb.active  # 获取活跃工作表
for i, e in enumerate(ws[image_name_column], start=1):  # 取出第A列内容,从第二个算起
    image_file_path = os.path.join(image_path, f"{e.value}.jpg")  # 图片路径
    try:  # 因获取A列的第一行是标题,这里防止报错结束程序
        img = Image(image_file_path) # 获取图片
        img.width, img.height = (120, 120)  # 设置图片大小
        # 调整表格列宽和行高
        ws.column_dimensions[image_column].width = 15  
        ws.row_dimensions[i].height = 90
        ws.add_image(img, anchor=image_column + str(i))  # 插入对应单元格
    except Exception as e:  
        print(e)
wb.save(excel_file_path)  # 保存
print('save..')

结果:

以上就是本文的全部内容了,如果你喜欢或者对你有帮助,请给我点个赞和在看吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
最全总结 | 聊聊 Python 办公自动化之 Excel(中)
上一篇文章中,我们聊到使用 xlrd、xlwt、xlutils 这一组合操作 Excel 的方法
AirPython
2020/11/03
1.6K0
最全总结 | 聊聊 Python 办公自动化之 Excel(中)
Python-Excel-openpyxl-06-插入图片
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 openpyxl:2.6.2
zishendianxia
2019/10/23
5.1K0
Python实现把图片插入到excel指定单元格
公众号的小伙伴在群里问,把图片插入到excel中一直浮在表面,没有嵌入到单元格中,要怎么解决?
阿黎逸阳
2024/01/02
2.7K0
Python实现把图片插入到excel指定单元格
openpyxl:Python的Excel操作库
luckpunk
2023/09/27
8110
openpyxl:Python的Excel操作库
Python | 如何使用Python操作Excel(二)
从如何使用Python操作Excel(一)中,我们可以得到一个“example.xlsx”文件,内容如图。
LogicPanda
2019/07/30
6.1K0
python3编程基础:操作excel(
python中操作excel的模块有很多,比如xlrd,xlwt,openpyxl,xlutils等。前两个是一套,一个读一个写。注意:xlwt模块,只能支持到excel2003,也就是扩展名为.xls的excel;xlrd模块可以支持读取07版本,也就是.xlsx扩展名的excel。每个模块都有一些优缺点,本文以openpyxl模块为例来进行介绍。
py3study
2020/01/13
8170
Python excel 功能扩展库 —
说明:本文档内容参考自 https://www.cnblogs.com/zeke-python-road/p/8986318.html (作者:关关雎鸠`)的文档
py3study
2020/01/17
4670
可能是全网最完整的 Python 操作 Excel库总结!
在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl、xlrd/xlwt、xlwings、xlsxwriter等进行了详细的讲解。
小F
2021/03/18
9.3K0
可能是全网最完整的 Python 操作 Excel库总结!
python读写excel
在工作中往往需要读取 excel 文件,但是读取 excel 的方式很多,本文只列举集中比较好用的读写 2003 或者 2007 的方法:
机器学习和大数据挖掘
2019/07/02
1.9K0
Python Linux自动化运维 -- Openpyxl Excel处理
python模块openpyxl pip install openpyxl 使用load_workbook函数读取一个已有的excel文件。 使用Workbook的get_sheet_by_name方法获取Worksheet对象。 使用Worksheet的cell方法获取Cell对象。 类 Workbook Workbook对应Excel工作簿 Workbook对象的部分属性: active:获取活跃的Worksheet; read_only:是否以read_only模式打开excel文件; encod
用户3013098
2022/06/01
2.1K0
Python Linux自动化运维 -- Openpyxl Excel处理
运营的Python指南 - Python 操作Excel
这是一份写给运营人员的Python指南。本文主要讲述如何使用Python操作Excel。完成Excel的创建,查询和修改操作。 相关代码请参考 https://github.com/RustFisher/python-playground
AnRFDev
2021/02/01
7390
Python3 读取和写入excel xlsx文件 使用openpyxl
•win32com:不仅仅是excel,可以处理office;不过它相当于是 windows COM 的封装,新手使用起来略有些痛苦。
用户7886150
2020/12/23
3.3K0
超详细Python处理Excel表格
「处理Excel表格需要用到openpyxl模块,该模块需要手动安装pip install openpyxl」
润森
2022/08/18
3.3K0
超详细Python处理Excel表格
python3 openpyxl操作excel
在日常工作中,避免不了需要操作excel文件的情况,如果还带有需要对excel的内容进行格式设定、合并单元格等需求,那么可以使用openxl来解决处理。
Devops海洋的渔夫
2019/10/10
2.8K0
python3 openpyxl操作excel
使用openpyxl读写excel文件
读写excel是日常工作中的高频操作,openpyxl模块支持对后缀为xlsx的excel文件进行读写,注意,它不支持后缀为xls的文件。
生信修炼手册
2020/11/25
1.1K0
关于python3导出excel图片链接转图片且图片内嵌表格内实现
from openpyxl import Workbook, load_workbook from openpyxl.drawing.image import Image from openpyxl.drawing.spreadsheet_drawing import AnchorMarker, TwoCellAnchor import requests def download(url,raw_path): file = url.split("/")[-1] file_name = f'
小小咸鱼YwY
2022/09/30
1.1K0
Python实现信息自动配对爬虫排版程序
在很多的公司项目中,常常有很多对office项目的比较机械化的操作,在这里就可以借助python实现对office的合理排版。而这里我们就将借助海尔公司的出货表爬取对应图片信息,并重新排版成为更加合理的Excel布局。
AI科技大本营
2020/07/23
1.4K0
Python实现信息自动配对爬虫排版程序
超超长篇 - 手把手带你用python玩转Excel
gitee:https://gitee.com/xiaozai-van-liu/mwj_utils
梦无矶小仔
2024/06/18
9860
超超长篇 - 手把手带你用python玩转Excel
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
官方文档:https://xlrd.readthedocs.io/en/latest/
Python小二
2020/09/08
7.8K0
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
Python写入Excel文件-多种实现方式(测试成功,附代码)
支持字体设置、前景色背景色、border设置、视图缩放(zoom)、单元格合并、autofilter、freeze panes、公式、data validation、单元格注释、行高和列宽设置
全栈程序员站长
2022/07/21
4.7K0
Python写入Excel文件-多种实现方式(测试成功,附代码)
推荐阅读
相关推荐
最全总结 | 聊聊 Python 办公自动化之 Excel(中)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验