0
点赞
收藏
分享

微信扫一扫

Excel+Python=精美壁纸日历 任意DIY

i奇异 2022-03-15 阅读 90

广东的太阳还是那么大,隔着玻璃都能感受到热浪。

明明前不久才立夏(明明已经过去三个月!!)


Excel+Python=精美壁纸日历 任意DIY_python

时间跑,日程赶。


Excel+Python=精美壁纸日历 任意DIY_pythond_02

昨日又迎来了立秋,正在放暑假的童靴是不是有点忘记时间了呢~


Excel+Python=精美壁纸日历 任意DIY_相对路径_03


什么?真的忘记了?没关系,今日小编为大家带来一款由excel简易DIY的小日历


Excel+Python=精美壁纸日历 任意DIY_python_04

给自己10分钟,python回你一个智慧与美貌并存的备忘小神器,相信它会给你带来不少方便


一、环境说明

开始之前,当然要跟小伙伴们交代一下运行环境咯


我们使用的python版本为 ​Python3.6​,需要使用到的包为 ​openpyxl​ 及​calendar​,后者是python自带的,而前者则需要小伙伴们打开Cmd/Terminal,运行以下指令安装,如果你还没有安装python,请看这篇文章:

pip install openpyxl

安装完成后我们就可以正式开始啦!

二、代码说明

1. 首先,绘制一份日历,我们得先知道​每个月份有多少天,每天都是星期几​,我们使用calendar包获得这些信息:
calendar.monthcalendar(2019, i)

通过这个函数,我们能得到 2019年i月的日历,它类似一个j*k的矩阵,因此我们可以这样遍历得到每一个日期:

for j in range(len(calendar.monthcalendar(2019, i))):        for k in range(len(calendar.monthcalendar(2019, i)[j])):            value = calendar.monthcalendar(2019, i)[j][k]
2. 其次,我们怎么样​绘制得到日历​呢?

openpyxl包给予了我们答案,最方便的做法是​我们先将日历绘制到excel中,然后再从excel中提取图片出来​。openpyxl怎么用?给大家一个设置单元格字体的例子:

sheet.cell(row=j + 4 + count, column=k + 2).font = Font(u'微软雅黑', color=text_color , size=14)

sheet是对应的表格,row和column就是某个单元格的位置,然后对font属性进行设置,调用Font类并设置参数,如果大家不知道Font类有什么参数,可以参考openpyxl官方文档:​​​​​​

3. 我们的作品是每个月份都有一个图在旁边做装饰,其添加方法如下:
imgs = ['12/1.jpg','12/2.jpg','12/3.jpg','12/4.jpg','12/5.jpg','12/6.jpg','12/7.jpg','12/8.jpg','12/9.jpg','12/10.jpg','12/11.jpg','12/12.jpg']img = Image(imgs[i-1])        sheet.add_image(img, 'J2')

imgs是每个图的相对路径,如12/1.jpg 是名字为12的文件夹下的1.jpg. 图像路径要导入到openpyxl的Image对象中:​img=Image('12/1.jpg'),然后将该变量放置到某个单元格上:sheet.add_image(img, 'J2).

这样看你可能会有点糊涂, i-1是哪里来的?sheet是哪里来的?没关系,其实是因为讲解的时候只能给大家献上部分代码,看完下面的完整代码你们就懂啦​

点击查看大图Excel+Python=精美壁纸日历 任意DIY_pythond_05

4. 我们还有一个神秘功能

差点忘了告诉大家了,我们的日历能支持备注哦,在调用get_month_xlsx得到文档前,通过set_information()放入你某一天想做的事情即可。如:

set_information('2019-12-5', '面试')

三、运行代码


终于到了激动人心的运行代码部分了,运行这份代码,你只需要把你想要的图片变量名(imgs)里的路径改成你的图片路径即可。然后在本地cmd/terminal运行:

python 这份代码的文件名.py

会自动生成一个excel表格叫my_calendary.xlsx. 怎样从里面把日历提取成图片呢?很简单,复制拉取你想要的部分,粘贴到聊天窗口就能变成一个图片!这里给大家献上源代码里的前6张图,希望大家喜欢!

下载地址:

​​

​​

​​

(PS:后6张希望大家能自己动手跟着做一做,你一定会有收获的)


Excel+Python=精美壁纸日历 任意DIY_python_06


Excel+Python=精美壁纸日历 任意DIY_python_07


Excel+Python=精美壁纸日历 任意DIY_相对路径_08


Excel+Python=精美壁纸日历 任意DIY_相对路径_09


Excel+Python=精美壁纸日历 任意DIY_python_10


Excel+Python=精美壁纸日历 任意DIY_相对路径_11


根据大家的喜好,大家可以自己设置背景色、边框色、交替色和图片,还有把这个讨厌的好看的二维码去掉。如果有阅读完注释还是不懂的地方,欢迎在下方留言区讨论,我们会抽空回答的~


Python实用宝典 (pythondict.com)

不只是一个宝典

Excel+Python=精美壁纸日历 任意DIY_相对路径_12


举报

相关推荐

0 条评论