当Excel遇上Python

image

文 | 蛮想,秋叶优秀学员

说到Excel,你想到的可能就是函数公式,各种数据整理,图表制作,又或者是数据分析。

我一直认为这就是Excel的顶级应用场景了,也经常拿这些「专业术语」,去吓唬秋叶Office训练营小白们。

正所谓无巧不成书,故事最精彩的地方,往往是剧情的反转,前两天我就被反转了一次,而且还是个女生。

image

玩了10年,我还是第1次看到,身边能有人在Excel画像素画,而且那个人不是我,是一个叫做漫想的女生。

具体是怎么做的呢?我们来听一听,漫想给我们讲的,Excel遇上Python那点事儿。

1- Excel像素画原理

1-读取图片中的RGB值,将其转化成网络色彩,最后还原成RGB值;

2-将经过处理的RGB值存为文本;

3-新建Excel,导入文本值;

4-借助VBA进行填充。

2- Python读取像素值

备注:我的python环境为3.6,我用的IDE是pycharm。

这里如何就不花篇幅介绍如何设置python环境。还没有配的小朋友,可以看这篇文章。

https://zhuanlan.zhihu.com/p/28789759

1.安装pillow模块

PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7。pillow是PIL的一个分支,虽是分支但是其与PIL同样也具有很强的图像处理库。

Pillow的文档:https://pillow.readthedocs.io/en/latest/
Pillow的github:https://github.com/python-pillow/Pillow

在windows系统下安装PIL模块:

方法一:pip安装

cmd进入你正在运行的python代码文件夹的lib中,即包含有pip.exe文件的文件夹中,代码为:cd 文件夹位置。例如: cd D:\python\untitled\venv\Scripts

image

通过以下代码实现安装:

pip install Pillow
image

验证一下是否安装成功:

python
import PIL

如图就是安装成功了。(我之前安装过了)

方法二:(不建议)下载pillow

下载合适文件后,在文件夹中安装,之前有讲过,只要放对了位置就行。

PIL官方链接:http://pythonware.com/products/pil/

2.Python实现代码

通过PIL来读取图像的RGB值,输出到txt文本中。(代码均有备注)

#coding=utf-8
from PIL import Image #导入之前安装的包
imload = Image.open('4.jpg') #加载图像文件,如果之后要实现其他的,可以换图像文件的名称,注意!!该图片需要在同一文件夹下,否则需要绝对或者相对路径
im = imload.convert("RGB") #转换为RGB的格式
width = im.size[0] #获取宽度
height = im.size[1] #获取高度
demo = open('rgb_4.txt','a')    #为之后生成的值,生成一个txt文件,a是写入文件的意思
#迭代输出,以行为单位,y在外层
for y in range(height):
  for x in range(width):
    r,g,b = im.getpixel((x,y))  #这里是重点,用getpixel()方法获取图片像素点的RGB值
    rgb =r,g,b
    demo.write(str(rgb)+ '\t')  #写入文件中,并且rgb之间加入制表符
  demo.write("\n")  #换行则也换行
  demo.close()  #关闭文件
image

最终,在该python文件下,就可以看到生成的txt文件。

导出的TXT文件如下:

image

3- EXCEL填充单元格

1.准备TXT文件

因为前面python中生成的TXT,有括号和空格,需要在读取RGB之前替换为空。

- 在【打开】中选择该TXT文件导入。此时会出现,【导入文本向导】,前两步都是默认选项,第三步中选择【文本】的形式显示。这里也可以在导入成功后,全选所有表格,在【开始】选项卡中把【格式】全部换成【文本】。

image

- 替换查找!!用替换查找把括号去掉!就是CTRL+H,将【(】和【)】替换为空

- 调整列宽和行高为正方形!注意!这里宽度与行高的单位是不一样的,每列的宽度8.43单位,等于64像素。每行高度15点,等于20像素。总之调整像素一样,就是正方形啦。

2.VBA实现RGB填充

右击工作表sheet,选择查看代码,就可以自由的编辑VBA代码了~

VBA代码:

Sub Set_RGB()
Dim r As Range, arr   #定义r
For Each r In Range("A:AFA")    #注意这里的Range中的“A:AFA”指的是列的位置,这里每次都需要手动修改,所以还是有些麻烦,等过段时间,我再优化一下
  arr = Split(r, ",")     #利用,来分割RGB值
  r.Interior.Color = RGB(CInt(arr(0)), CInt(arr(1)), CInt(arr(2)))        #CInt的作用是四舍五入后取整,如果要取整的浮点数小数部分恰好是0.5的情况,则向最接近的偶数取整。
  Next
  End Sub
image

运行VBA代码,可能会出现越界错误9 ,但是没关系,其实已经生成RGB颜色啦!

讲解VBA循环语句

For Each 元素 In 组合
语句1
语句2
语句N
Next [元素]

最后运行代码,并调整EXCEL界面的大小,就可以看到细节啦~

image

image

越简单的图,实现起来越快捷,效果也越好呀!图片太大了,电脑有可能带不起来哦!

image

image

image

image

4- 总结

是不是从没想过EXCEL也可以实现如此功能?

其实只要你敢想,你就做的出来。

多一点耐心,多动手,这份撩妹神器就到手。

如此撩妹神器,不如现在就上手试一试?程序员特有的浪漫送给你心仪的他/她一副十字绣画吧

我是拉小登,源于Excel,不只是Excel

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容

  • 前天和一个群里的同学联系,问一下课程安排,当我得知她已经59岁的时候我真的只剩下钦佩了,59岁,还在努力提升自...
    桃夭灼华娜娜阅读 64评论 0 0
  • 成功离不开专业能力,离不开环境,离不开交流。《异类》一书对这三者都有说到。 专业能力,比如弹钢琴。成为世界级大师,...
    黄南森技术分享阅读 199评论 0 1
  • 目 录 一个作家的爱情(五) 夏天已经结束,蝉儿的声音也听不到了。 胡文鹤的手,触碰上了白浅静的脸颊。这是一双很...
    三山伞阅读 263评论 0 0
  • 欢迎收看俗到掉渣的《小Y讲堂》节目,大家好,我是小Y,一个集性感毛发与才华于一身的程序猿。小Y的设计模式系列中的「...
    YoungManSter阅读 607评论 0 8