python col_新年了,用Python定制一本个性化日历

原标题:新年了,用Python定制一本个性化日历

大家好,欢迎来到Crossin的编程教室!

新年到了,很多小伙伴都会买上一本日历。现在各种主题各种式样的日历有很多,不过你有没有想过自己定制一套专属的个性化电子日历呢?

今天我们就来演示如何用python生成一个日历。

一、准备

开始之前,你要确保Python和pip已经成功安装在了电脑上。如果没有,可以在公众号“Crossin的编程教室”里回复关键字安装,查看相关演示教程。另外,如果你用Python的目的是做数据分析,可以直接安装Anaconda,参考: 我也曾经因安装库而抓狂,直到我遇到了anaconda 。

Windows环境下打开 CMD(开始—运行—CMD),苹果系统环境下请打开 终端 Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。

在终端输入以下命令安装所需要的依赖模块:

pipinstall openpyxl

看到 Successfully installed xxx 则说明安装成功。

二、代码说明1. 获取日期首先,绘制一份日历,得先知道每个月份有多少天,每天都是星期几,可以使用calendar包获得这些信息:

calendar.monthcalendar( 2021, i)

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

# calendar.monthcalendar 获得的值类似于:

# [[0, 0, 0, 0, 1, 2, 3],

# [4, 5, 6, 7, 8, 9, 10],

# [11, 12, 13, 14, 15, 16, 17],

# [18, 19, 20, 21, 22, 23, 24],

# [25, 26, 27, 28, 29, 30, 31]]

# 从左至右为星期日到星期六

month_calendar = calendar.monthcalendar( 2021, i)

forrow inrange(len(month_calendar)):

forcol inrange(len(month_calendar[row])):

value = month_calendar[row][col]

2. 绘制得到日历

Openpyxl模块提供了许多方便的功能,比如设置单元格格式、调整单元格颜色、添加图片等。

基于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官方文档:https://openpyxl.readthedocs.io/en/stable/

你可以看到里面大部分单元格的属性都是类似上面那样设置的,非常简单。

3. 作品是每个月份都有一个图在旁边做装饰为了给每个月份添加一份装饰图,需要向Excel中插入图片,幸运的是,Openpyxl提供了很方便的插入方法:

# 添加图片

img = Image( f'12graphs/ {i}.jpg')

sheet.add_image(img, 'I2')

12graphs下存放了12个月份的图,循环遍历每张表格,就能将对应的图表添加并渲染到 I2格子上.

你也可以自行DIY,比如换上女票的照片,然后作为礼物送给她

请注意图片的名称不能过错,必须是从1到12的jpg格式。

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

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

set_information( '2021-12-1', '考试')

set_information( '2021-12-1', '约会')

简单的代码讲解如上,详细代码可以在公众号后台回复日历下载查看。

三、运行代码

终于到了激动人心的运行代码部分了,运行这份代码,你只需要在本地 cmd/terminal 进入该项目源代码文件夹运行:

pythoncalendary. py

会自动生成一个excel表格叫my_calendary.xlsx,这就是我们生成的日历了。

怎样从里面把日历提取成图片?

很简单, 复制你想要的部分,粘贴到任何聊天窗口就能变成一张图片!

大家可以阅读代码,根据自己喜好尝试设置背景色、边框色、交替色和图片。

以上,便是如何用 Python 生成一个日历,你也可以动手试一试!

PS:公众号后台回复日历即可下载本文源代码。

原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

作者:Ckend

来源:Python实用宝典

用Python写一份独特的元宵节祝福 返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值