使用Requests下载图片并使用openpyxl将图片写入Excel中

Python 实战: 爬虫抓取网站数据 处理后存入Excel表 项目场景: Python是我接触过的,相比C++、java,是一门非常简单的编程语言。 对于办公室白领,在未来是一门必须掌握的技巧,可以帮你自动化处理数据。 废话少说,上干货! 本期主要给大家分享一个我工作中的一次使用,希望对你以后工作有所帮助,提高效率,解放劳动力。 问题描述: 我们需要在一个网站上对网站上所有的要素,进行逐一检查,1W多要素看的人眼花缭乱,效率慢,易出错。 处理办法:python 在网站爬取所有要素,程序中加入判断规则,输出成Excel表格。原来3天的工作量,现在1min内搞定. 阅读详情

之前爬取的数据,是直接把图片url放在Excel中的,或者直接下载到一个目录中,或者转存到自家服务器上,拿到新的链接。
这边收到需求要求把图片缩小到140*140直接放到Excel单元格中,操作如下。

使用Requests下载图片

使用Requests下载单张图片,只要将相应对象的二进制内容,二进制格式保存即可,示例如下:

import requests
url = 'https://www.bulgari.cn/media/catalog/product/cache/17a97ae74dcd05e3600304dfd5afbc49/3/5/356325_001.png'
res = requests.get(url)
file_name = url.split('/')[-1]
with open(file_name, 'wb') as f:
    f.write(res.content)

如果图片较大,为了优化性能,可以分块写入:

...
with open(file_name, 'wb') as f:
    for data in res.iter_content(128):
            f.write(data)

使用openpyxl,在Excel中插入图片

使用openpyxl,可以使用sheet对象的add_image(‘图片文件路径或Image对象’, ‘锚点’)来在一个单元格中插入对象,使用openpyxl中的Image对象还可以设置图片尺寸。示例如下。

from openpyxl import Workbook
from openpyxl.drawing.image import Image
wb = Workbook()
sh = wb.active
img = Image('demo.png')
img.width, img.height=140, 140
sh.add_image(img, 'A1')
wb.save('demo.xlsx')

保存后,打开Excel,效果如下。

另外可以通过sh.column_dimensions[‘A’].width=140来设置列宽,通过 sh.row_dimensions[1].height=140来设置行高。

完整代码

import requests
from openpyxl import Workbook
from openpyxl.drawing.image import Image

IMG_COL = 'A'

def save_img(url):
    res = requests.get(url)
    file_name = url.split('/')[-1]
    with open(file_name, 'wb') as f:
         for data in res.iter_content(128):
            f.write(data)
    return file_name

def insert_img(sh, line, file_name):
    sh.row_dimensions[line].height=140
    img = Image(file_name)
    img.width, img.height=140, 140
    sh.add_image(img, 'A1')

if __name__ == "__main__":
    wb = Workbook()
    sh = wb.active
    sh.column_dimensions[IMG_COL].width=140
    url = 'https://www.bulgari.cn/media/catalog/product/cache/17a97ae74dcd05e3600304dfd5afbc49/3/5/356325_001.png'
    file_name = save_img(url)
    insert_img(sh, 1, file_name)
    wb.save('demo.xlsx')

多张图片,添加循环即可。

python下载文件、图片和文字内容 python实现文件、图片、内容同时下载。 阅读详情

相关推荐

Python:openpyxl在excel中读取url并下载、插入图片

本文展示了如何使用openpyxl等一系列包创建新工作表或在已有工作表中插入图片的方法。

maodajitui的博客 1893

python - 用openpyxl模块将指定路径下所有图片插入到excel表格中的三种需求方法

插入第一列接着插入第二列,直到插入完所有图片。 插完一半图片到第一列,再插入第二列。 运行文件的同级文件夹pic,插入pic文件夹下的罗列文件夹列表下的图片(/pic/Atu/A-1.png, /pic/Btu/B-1.png)到excel表格,写入的列表文件名和其文件下的图片位于同一行。

current的博客 2650

Excel图片链接转图片神器:Python+openpyxl保姆级教程(含常见错误排查)

本文提供了一份详细的Python+openpyxl教程,教你如何将Excel中的图片链接自动转换为嵌入图片,解决办公效率问题。教程涵盖环境配置、核心代码实现、常见错误排查及性能优化技巧,特别适合需要处理大量Excel图片链接的用户。

weixin_29098117的博客 324

用OpenPyXL在Excel表格中插入图片 (python)

用OpenPyXL在Excel表格中插入图片 (python) 代码如下: from openpyxl.rawing.image import Image wb = load_workbook('这里写上该Excel的路径') #加载这个工作簿 sheet = wb['sheet的名字'] #选择你要操作的sheet表格 img = Image('写上要插入的图片的路径') #选择你的图片 sheet.add_image(img,'要插入的excel里的格子') wb.save('保存的路径') #不要忘

晋十九的博客 9108

Python+requests+pytest+openpyxl+allure+loguru框架详解

请求模块:将处理好的数据通过requests模块发送请求,在发送请求之前判断是否含有前置sql,有就调用前置sql函数并进行参数替换检查和参数替换操作。提取响应结果:通过excel文件读取的内容判断是否需要提取响应结果,并提取响应结果到环境变量。再查通过需要替换的变量名在环境变量中查询对应的值。提取预期结果-----》读取的数据进行序列化操作。先判断excel文件读取的数据是否需要断言,检查excel读取的内容是否需要替换变量,需要替换变量,先提取需要替换的变量名,替换变量的值并返回。

qq_35283902的博客 2397

Python繁琐工作自动化实战:requests+Playwright+openpyxl分层方案

Python自动化并非语法炫技,而是面向重复性高、操作细碎、逻辑固定的‘烦琐重’任务的工程实践。其核心原理在于分层解耦:用requests高效获取静态HTML,以Playwright精准交互动态网页,再借openpyxl实现带样式、公式与图表的Excel落地。这种组合兼顾性能、鲁棒性与业务交付力,广泛应用于数据采集、报表生成、跨系统集成等企业场景。尤其适合需绕过JS渲染、保留格式输出、稳定应对页面变更的中大型自动化项目。

weixin_30745553的博客 331

python生成的excel无法打开-Python 解决中文写入Excel时抛异常的问题

近期接到业务部门需求,需将统计结果每日发送到业务部门,在调试python脚本的时候,导出的Excel标题为中文,总是抛出以下异常Traceback (most recent call last):File "totalpx.py", line 99, in export()File "totalpx.py", line 54, in exportworkbo...

weixin_39648824的博客 3089

Python自动化:一键抓取Excel中隐藏的图片与文件链接

本文详细介绍了如何使用Python自动化从Excel中提取隐藏的图片和文件链接,包括处理超链接、文本中的URL、JSON数据和HTML片段。通过正则表达式和BeautifulSoup等技术,实现高效批量下载,提升工作效率。适用于电商数据处理、内容管理等多种场景。

weixin_30736301的博客 427

python下载图片插入excel_使用Requests下载图片并使用openpyxl将图片写入Excel中

之前爬取的数据,是直接把图片url放在Excel中的,或者直接下载到一个目录中,或者转存到自家服务器上,拿到新的链接。这边收到需求要求把图片缩小到140*140直接放到Excel单元格中,操作如下。使用Requests下载图片使用Requests下载单张图片,只要将相应对象的二进制内容,二进制格式保存即可,示例如下:import requestsurl = 'https://www.bulgari...

weixin_35726575的博客 1605

Excel图片链接一键转图片:Python+openpyxl保姆级教程(附避坑指南)

本文详细介绍了如何使用Python和openpyxl库将Excel中的图片链接一键转换为嵌入式图片,提升数据处理效率。教程涵盖环境准备、核心实现逻辑、Excel图片嵌入实战及高级避坑技巧,特别适合数据分析师和办公自动化需求者。

weixin_29054195的博客 357

OpenXLSX C++读写Excel表格 支持VS2019编译,C++MFC应用示例

OpenXLSX 读写Excel表格。 支持VS2019编译,C++MFC应用示例,l

Python将链接图片插入到Excel中

在上述示例中,我们首先创建了一个Workbook对象,然后获取了默认的工作表对象ws,接着使用openpyxl.drawing.image.Image类加载需要插入的链接图片,并将其添加到工作表的指定位置。最后,我们保存了Excel文件,保存路径为example.xlsx。),我们使用了requests库来发送HTTP请求并获取图片的二进制数据,然后将二进制数据写入文件。然后,我们使用’rb’模式打开文件,以确保文件以二进制模式打开。最后,我们将图片插入到工作表中,如之前的示例所示。

Allen 1672

CPU也能跑大模型?手把手教你用vLLM离线部署Qwen2.5-7B-Instruct(附性能优化技巧)

本文详细介绍了如何在CPU服务器上高效部署Qwen2.5-7B-Instruct模型,通过vLLM框架和一系列优化技巧实现离线推理。内容包括环境配置、模型加载优化、性能调优及生产环境部署方案,帮助开发者在资源有限的情况下也能运行大语言模型。

weixin_28691741的博客 493

实现图片写入excel_Python处理Excel的另一个库-openpyxl

前言上篇文章中,介绍了如何使用 Pandas 来操作处理 Excel 和 Csv 文件。其中留下了一个点,即图片头像现在在 Excel 中依然是地址,现在需要将地址转为图片,写入到 Excel。今天来介绍另一个好用的库 openpyxl ,Python操作处理 Excel 的神库。回顾上篇文章详见:Python处理Excel&CSV文件环境准备开始之前,需要安装的第三方库有两个:pip i...

weixin_39954889的博客 256

基于STM32的红外测温系统设计

为了实现本次的毕业设计,我搜集了大量的文献与资料,通过这些资料了解到红外测温的优点,与实现所需的基本器件,并设计了几个方案,最终选择了STM32作为主控芯片,为此还查阅了关于STM32的资料,在此次设计中采用的是MLX90614医用红外测温模块,通过查阅其数据手册了解其测量精度高且自带温度补偿,所以选择了该传感器作为红外测温模块,本次设计到此已经基本完成,硬件部分和软件部分的设计已基本完成。

weixin_112233的博客 1422

智慧城市项目实战:如何将你的地理数据从城市坐标系(如上海2000)转换到国家CGCS2000?

本文详细介绍了智慧城市项目中地理数据坐标系转换的全流程解决方案,重点讲解如何将城市坐标系(如上海2000)转换到国家CGCS2000。通过七参数布尔莎模型、ArcGIS Pro、QGIS开源方案及Python编程实现,帮助实施团队解决坐标系不统一的技术难题,确保空间分析精度。

weixin_28725949的博客 307

Selenium与openpyxl实战:网页图片数据自动化采集与Excel存储完整指南

在数据采集与处理领域,网页数据自动化抓取是提升效率的关键技术。其核心原理是通过模拟浏览器行为,解析网页文档对象模型(DOM),精准定位并提取目标数据元素。这项技术的价值在于能够将非结构化的网络信息转化为结构化的可用数据,极大减少了人工收集的重复劳动与错误率,广泛应用于市场竞品分析、价格监控、舆情收集等场景。本文聚焦于使用Selenium处理动态加载内容,并结合openpyxl进行Excel文件的结构化写入,详细阐述了从环境配置、元素定位策略到数据存储优化的完整工程实践,特别是针对图片链接抓取和翻页逻辑处理等

weixin_30457551的博客 346

Python实战:超分辨率图像质量评估全攻略——PSNR、SSIM、LPIPS与NIQE的代码实现与优化

本文详细介绍了在Python中实现超分辨率图像质量评估的完整方案,涵盖PSNR、SSIM、LPIPS和NIQE四大核心指标。通过模块化代码设计、多进程并行处理和GPU加速优化,帮助开发者构建高效、可扩展的评估系统,并提供了实战避坑指南与结果解读方法。

weixin_29053073的博客 475

Excel图片链接转图片神器:Python+openpyxl一键搞定(附完整代码)

本文介绍如何利用Python和openpyxl库将Excel中的图片链接一键转换为嵌入式图片,提升办公效率。通过详细的代码示例和实现原理,帮助用户快速掌握这一实用技能,适用于电商产品目录、企业报表等多种场景。

weixin_30879169的博客 507

阿里平头哥与华为芯片的比较

阿里平头哥与华为芯片代表了中国AI芯片领域的两种典型发展路径:平头哥通过兼容CUDA生态快速切入市场,以较低成本提供接近国际水平的AI算力;华为则坚持全栈自研路线,构建从芯片到框架的完整技术体系,更注重供应链安全和自主可控。从短期来看,平头哥PPU在单卡性能参数上全面超越昇腾910B,接近英伟达H20水平,且成本优势明显,有望在云服务和互联网应用领域取得更大市场份额。而华为昇腾则凭借全栈自研和端边云协同优势,在政企市场和科研领域更具竞争力。

shao.bing的专栏 4011

【网络基础2】路由器的 “两扇门”:二层接口和三层接口到底有啥不一样?

家里的路由器背后总有几个网线接口,有的标着 “LAN”,有的标着 “WAN”;公司机房的路由器上,接口更是五花八门,有的插着网线,有的连着光纤,旁边还贴着 “GE0/0/1”“Eth-Trunk1” 这样的标签。你可能会想:不就是插网线的地方吗?有啥区别?其实,这些接口分 “二层接口” 和 “三层接口”,它们的作用差得远了 —— 就像你家的门,有的是 “小区内的单元门”(只通小区内部),有的是 “小区的大门”(能通往外面的世界)。接下来,咱们用大白话 + 生活例子,一点点把这两种接口讲透。

jundao1997的专栏 566

自动化办公 | 批量将Excel中的url链接转成图片

大家好,我是小五????最近在交流群看到了一个问题小五对这个比较感兴趣,所以就要了示例数据找时间尝试做了一下。为啥感兴趣呢?因为前段时间刚帮群友做过一个相反的案例——将Excel中的图片下...

zhuxiao5的博客 7980

[Dify实战] 项目复盘助手:自动拉数据、生成复盘报告

本文介绍如何利用Dify平台构建自动化项目复盘助手,解决传统人工复盘效率低、易遗漏等问题。系统通过自动拉取Git/Jira等数据源,计算关键指标后,由LLM生成结构化复盘报告。文章详细讲解了数据采集、指标计算、Prompt设计等核心模块的实现,并分享了完整Workflow搭建步骤。实践表明,该系统能将复盘耗时从4小时缩短至10分钟,显著提升数据准确率和执行频率。最后总结了数据一致性、输出质量等常见问题的解决方案,强调Dify+LLM组合可实现复盘流程的自动化流水线。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 118

Python小功能实现(链接下载图片并存储到EXCEL中或者按照指定格式保存到word中)

【代码】Python小功能实现(链接下载图品并存储到EXCEL中)

weixin_43006743的博客 875

手把手教你学Simulink——基于Simulink的模糊自适应PI调节FOC电流环

本文提出基于模糊自适应PI控制的FOC电流环优化方案,针对传统PI控制参数固化、抗扰性差等问题,通过模糊逻辑在线调整PI参数。方案采用双输入(电流误差及变化率)和三输出(ΔKp/ΔKi/PI调节)结构,实现动态响应时间<30μs(提升38%)、超调<5%(降低71%)、参数摄动下误差<±0.4A(精度提升73%)。详细介绍了Simulink建模步骤,包括模糊规则设计(7语言变量、49条规则)、隶属度函数配置及自适应PI实现逻辑,并提供实机部署建议。仿真结果表明,该方法显著提升系统鲁棒性,特

MHD0815的博客 79

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: https://www.jianshu.com/p/6da55b62f2b9
下一篇: 使用Psutil监控系统资源
韩志超
博客等级 码龄9年 149粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值