Python将图片插入到Excel中

Python将图片插入到Excel中效果图 安装 命令 pipinstallXl 或者 easy installXlsxW 在下载的过程中慢的话 可以尝试其中一个 速度会比单纯的 pip 快 10 倍不止 地址如下 http pypi douban com simple 豆瓣 http mirrors aliyun com pypi simple 阿里 http pypi hustunique com simple 华中理工大学 http pypi sdutlinux o

效果图:

Python将图片插入到Excel中

 

 安装:命令:pip install XlsxWriter (或者 easy_install XlsxWriter)

在下载的过程中慢的话,可以尝试其中一个,速度会比单纯的pip快10倍不止。地址如下

http://pypi.douban.com/simple/ 豆瓣 http://mirrors.aliyun.com/pypi/simple/ 阿里 http://pypi.hustunique.com/simple/ 华中理工大学 http://pypi.sdutlinux.org/simple/ 山东理工大学 http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学 https://pypi.tuna.tsinghua.edu.cn/simple 清华

代码如下:

pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:如果是原生态的cmd窗口安装的,会提示加个–user命令,读者按照指示即可。

import xlsxwriter import requests import pandas as pd import winreg import time # 下载图片,插入Excel def loadimg(df): import os img_list = list(df['图片']) tupianname_list = [] # 判断结果 isExists = os.path.exists('E:\\临时图片\\') if not isExists: # 如果不存在则创建目录 os.makedirs('E:\\临时图片\\') Itemnumber_list = list(df['商品编号']) brand_list = list(df['品牌']) for q, imglink in enumerate(img_list): if q % 10 == 0: time.sleep(2) print('已下载'+str(q)+'张图片,休息2秒.') imgname = str(Itemnumber_list[q]) + '-' + str(brand_list[q]) + '.jpg' with open('E:\\临时图片\\'+str(imgname), 'wb') as f: f.write(requests.get(imglink).content) tupianname_list.append(str(imgname)) # 加载图片到Excel...... import xlsxwriter number_list = list(df['序号']) Itemnumber_list = list(df['商品编号']) brand_list = list(df['品牌']) sjdate_list = list(df['上架日期']) stock_list = list(df['库存']) wb = xlsxwriter.Workbook(get_desktop() + '\商品数据' + str(int(time.time())) + '.xlsx') worksheet = wb.add_worksheet("图片") for i, v in enumerate(tupianname_list): if i == 0: worksheet.write_string(0, 0, '序号') worksheet.write_string(0, 1, '商品编号') worksheet.write_string(0, 2, '品牌') worksheet.write_string(0, 3, '上架日期') worksheet.write_string(0, 4, '库存') worksheet.write_string(1, 0, number_list[i]) worksheet.write_string(1, 1, Itemnumber_list[i]) worksheet.write_string(1, 2, brand_list[i]) worksheet.write_string(1, 3, sjdate_list[i]) worksheet.write_string(1, 4, stock_list[i]) worksheet.insert_image(row=1, col=5, filename='E:\\临时图片\\' + v, options={'x_scale': 0.1, 'y_scale': 0.1}) else: worksheet.write_string(i*6, 0, number_list[i]) worksheet.write_string(i*6, 1, Itemnumber_list[i]) worksheet.write_string(i*6, 2, brand_list[i]) worksheet.write_string(i*6, 3, sjdate_list[i]) worksheet.write_string(i*6, 4, stock_list[i]) worksheet.insert_image(row=i*6, col=5, filename='E:\\临时图片\\' + v, options={'x_scale': 0.1, 'y_scale': 0.1}) wb.close() def get_desktop(): key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders') return winreg.QueryValueEx(key, "Desktop")[0] if __name__ == '__main__': df = pd.read_excel(r'商品资料.xlsx') loadimg(df)

函数说明:

insert_image(,,文件名[ ,选项] )

在工作表单元格中插入图像。

参数:
  • row ( int ) — 单元格行(零索引)。
  • col ( int ) — 单元格列(零索引)。
  • 文件名– 图像文件名(如果需要,带有路径)。
  • options ( dict ) — 图像位置、比例和 url 的可选参数。
回报:

0:成功。

回报:

-1:行或列超出工作表范围。

此方法可用于将图像插入工作表。图像可以是 PNG、JPEG、GIF、BMP、WMF 或 EMF 格式(请参阅下面有关 BMP 和 EMF 的注释):

官方文档

The Worksheet Class — XlsxWriter Documentation

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199130.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午1:47
下一篇 2026年3月26日 下午1:47


相关推荐

  • linux常见问题_linux安装方式

    linux常见问题_linux安装方式Normal07.8磅02falsefalsefalseMicrosoftInternetExplorer4

    2022年8月21日
    7
  • vue 创建新项目

    vue 创建新项目1 vue 依赖于 npm 和 node 有因为 npm 依赖于 node 所以在新建项目前先安装好 node 也可以安装 nvm 后续方便切换 node 版本 打开 cmd 窗口 输出 node v 看看有无安装成功 有显示指定版本说明 node 安装成功 2 安装脚手架 vue cli 输入命令 npminstall g vue cli 接着用命令 vueversion 查看是否安装成功 3 新建项目 命令 vuecreate 项目名 4 创建成功 按照提示进入 vscode 切换到指定文件夹 执行 npmruns

    2025年7月3日
    5
  • OpenClaw爆火 AI专家:“养龙虾”还是悠着点

    OpenClaw爆火 AI专家:“养龙虾”还是悠着点

    2026年3月13日
    3
  • 配置阿里云maven仓库地址

    配置阿里云maven仓库地址阿里云 maven 仓库 maven 配置打开 maven 的配置文件 windows 机器一般在 maven 安装目录的 conf settings xml 在标签中添加 mirror 子节点 mirror id aliyunmaven id mirrorOf mirrorOf name 阿里云公共仓库 name url https maven aliyun url mirror

    2026年3月18日
    2
  • UE4地编基础-材质蓝图篇[通俗易懂]

    UE4地编基础-材质蓝图篇[通俗易懂]一、贴图规格颜色贴图:颜色贴图必须是8位数RGB颜色。如果在UE4里,发现颜色贴图泛白,那么明颜色贴图是16位数的。改成8位数就正常了。灰度贴图:包括AO、Metallic(金属度)、Roughness(粗糙度)贴图。法线贴图:UE4支持Directx的法线贴图。二、贴图效果调节(蓝图)法线贴图强度调节:AO贴图强度调节:三、各种材质制作1、玻璃材质2、自发光材质……

    2026年4月15日
    5
  • shipyard docker集群问题

    shipyard docker集群问题注册 docker 节点的时候查看 swarm 日志会有以下情况 INFO 0000 Initializing 0000 Registeringo 会一直注册不上 服务无法发现 如果配置正确 可尝试重启 dockersystem

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号