专栏首页Python与Excel之交对比excel,用python根据对应内容,向excel插入对应的图片!

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

Hi~大家好!我是小刀!

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

材料

一份表格:

需要插入的图片:

EXCEL

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

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

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

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

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

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

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

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

结果:

Python

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

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

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

pip install 库名

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

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

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..')

结果:

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

本文分享自微信公众号 - Python与Excel之交(Yi-Python-Excel),作者:锋小刀

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-07-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 运营的Python指南 - Python Excel 绘制柱形图

    这是一份写给运营人员的Python指南。本文主要讲述如何使用Python操作Excel绘制柱形图。

    AnRFDev
  • Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!

    官方文档:https://xlrd.readthedocs.io/en/latest/

    Python小二
  • python excel交互模块比较

    官方文档:https://xlrd.readthedocs.io/en/latest/

    用户2090661
  • 可能是全网最完整的 Python 操作 Excel库总结!

    在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl、xlrd/xlwt、xlwings、xlsxwriter等进行了详...

    小F
  • Python 操作 Excel 报表自动化指南!

    来源:https://blog.csdn.net/u014779536/article/details/108182833

    AirPython
  • Python实现信息自动配对爬虫排版程序

    在很多的公司项目中,常常有很多对office项目的比较机械化的操作,在这里就可以借助python实现对office的合理排版。而这里我们就将借助海尔公司的出货表...

    AI科技大本营
  • 3W 字!Python 操作 Excel 报表自动化指南!

    来源:https://blog.csdn.net/u014779536/article/details/108182833

    Python数据科学
  • Python自动化办公之Excel报表自动化指南!全文3W字

    来源:https://blog.csdn.net/u014779536/article/details/108182833

    统计学家
  • [功能发布]Excel与python交互,将python的广阔数据分析领域能力接入Excel中

    用几个小视频,给大家一同感受下Excel催化剂的与python交互的效果,细节没看清楚不要紧,后续还会出视频。

    Excel催化剂
  • 太强了,用Python+Excel制作天气预报表!

    主要使用xlwings和requests这两个Python库,以及Office的Excel。

    郭好奇同学
  • 利用 Python+Excel 制作天气预报表!

    主要使用xlwings和requests这两个Python库,以及Office的Excel。

    张俊红
  • Python-Excel 模块哪家强?

    0. 前言 从网页爬下来的大量数据需要清洗? 成堆的科学实验数据需要导入 Excel 进行分析? 有成堆的表格等待统计? 作为人生苦短的 Python 程序员,...

    Crossin先生
  • 太强了,用Python+Excel制作天气预报表!

    主要使用xlwings和requests这两个Python库,以及Office的Excel。

    咋咋
  • 太强了,用Python+Excel制作天气预报表!

    主要使用xlwings和requests这两个Python库,以及Office的Excel。

    小F
  • 用原生的方式操作Excel,Python玩转Excel神器xlsxwriter详解!

    在之前的Python办公自动化系列文章中,我们已经介绍了两个Python操作Excel的库openpyxl与xlwings,并且相信大家已经了解这两者之间的异同...

    数据森麟
  • python操作Excel,你觉得哪个库更好呢?

    每一个Excel数据文件从上至下分为三个层级的对象: workbook: 每一个Excel文件就是一个workbook。 sheet: 每一个workbook中...

    星星在线
  • 这52页pdf,顶10篇python自动化办公文章

    发现很多读者对python自动化办公(python操作Excel、Word、PDF)的文章都很喜欢,并希望能够应用到工作中去。

    朱小五
  • 一个 Python 报表自动化实战案例

    今天给大家分享一本我好朋友俊红老师的新书《对比Excel,轻松学习Python报表自动化》中关于报表自动化实战的内容。

    杰哥的IT之旅
  • Python自动化办公 | 如何实现报表自动化?

    今天给大家分享一篇俊红新书《对比Excel,轻松学习Python报表自动化》中关于报表自动化实战的内容,文末也会免费赠送几本新书。

    朱小五

扫码关注云+社区

领取腾讯云代金券