栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python复制excel单元格图片_用python将excel的内容生成图像?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python复制excel单元格图片_用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 模块名 -i 网址
以清华镜像举例

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'SoftwareMicrosoftWindowsCurrentVersionExplorerShell 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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783278.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号