前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python小玩意 | 操作excel来作画

Python小玩意 | 操作excel来作画

作者头像
可以叫我才哥
发布2021-08-05 11:50:55
3690
发布2021-08-05 11:50:55
举报
文章被收录于专栏:可以叫我才哥
作者:小小明 Pandas数据处理专家,致力于帮助无数数据从业者解决数据处理难题。

大家好,今天我们带来小小明的一个小玩意,用excel作画。原理上就是:读取原图每个像素的颜色值,然后再填充到excel对应单元格

  • 读取原图每个像素颜色值 用到 PIL 库
  • 填充excel单元格颜色呢 用到 openpyxl 库

比如我们有这样一张图片:

原图

想把它画到excel上:

效果

该如何实现呢?

python几分钟内轻松实现!看看代码吧:

代码语言:javascript
复制
from openpyxl.utils import get_column_letter
from openpyxl.styles import PatternFill
from openpyxl import Workbook
from PIL import Image

im = Image.open("logo2.jpg")
im = im.resize((80, 80))
data = im.load()

book = Workbook()
sheet = book.active
for row in range(1, im.height+1):
    for col in range(1, im.width+1):
        p = data[col-1, row-1]
        color = f"{p[0]:0>2x}{p[1]:0>2x}{p[2]:0>2x}"
        sheet.cell(row, col).fill = PatternFill(
            fill_type="solid", fgColor=color)
    sheet.row_dimensions[row].height = 3
for col in range(1, im.width+1):
    sheet.column_dimensions[get_column_letter(col)].width = 0.5

book.save("t.xlsx")

上面代码即可将图片logo2.jpg转为t.xlsx的字符图。

如果你缺少部分库,无法运行,可以使用pip安装:

代码语言:javascript
复制
pip install pillow
pip install openpyxl
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 可以叫我才哥 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档