一、准备

开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda

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

当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南。

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

pip install openpyxl

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

PS:【Python实用宝典】公众号后台回复日历即可下载本文源代码。

二、代码说明

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

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

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).

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

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

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

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

三、运行代码

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

python calendary.py

会自动生成一个excel表格叫my_calendary.xlsx. 怎样从里面把日历提取成图片?

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

这里给大家献上源代码里的前6张图,希望大家喜欢!下载地址:

https://pythondict.com/wp-content/uploads/2019/08/2019080909262065.zip

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

根据大家的喜好,大家可以自己设置背景色、边框色、交替色和图片,还有把这个讨厌的好看的二维码去掉。

如果大家看了文章还有不懂的地方,欢迎在后台回复【加群】进群讨论,由于最近营销号过于肆无忌惮,群二维码已经关闭,所有进群的同学将由作者本人亲自校验通过哦。

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。

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

点击下方阅读原文可获得更好的阅读体验

Python实用宝典 (pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

python 日历壁纸_Excel+Python=精美DIY壁纸日历相关推荐

  1. Python运用urllib2和BeautifulSoup爬取网站ZOL桌面壁纸上的精美电脑壁纸

    Python运用urllib2和BeautifulSoup爬取网站ZOL桌面壁纸上的精美电脑壁纸 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Ti ...

  2. python 日历壁纸_Excel+Python=精美壁纸日历 任意DIY

    广东的太阳还是那么大,隔着玻璃都能感受到热浪. 明明前不久才立夏(明明已经过去三个月!!) 时间跑,日程赶. 昨日又迎来了立秋,正在放暑假的童靴是不是有点忘记时间了呢~ 什么?真的忘记了?没关系,今日 ...

  3. 动态壁纸安卓_安卓壁纸专为安卓打造,拥有海量高清壁纸,还有精美动态壁纸!...

    今天给朋友们分享一款壁纸APP--安卓壁纸 APP简介 安卓壁纸APP是一款为安卓用户量身打造的手机壁纸软件,有各种各样的图片以及动态壁纸,美女.帅哥.风景.影视.艺术等等,全部都是免费下载,流量耗费 ...

  4. android 壁纸 官方网站,wallsplash - 壁纸从未如此精美 #Android

    原标题:wallsplash - 壁纸从未如此精美 #Android 壁纸的精美与否,往往直接展现了一个人的审美水准,而今天带来的这款「wallsplash 」则是一款完全遵循 Material De ...

  5. python制作壁纸获取器exe,壁纸采集

    python制作壁纸获取器exe,壁纸采集 [为想学习爬虫的小白朋友分享的入门级代码,一键获取大量壁纸] sorry: 很久没更新了,因为参加了实训就紧接着去学车了(每天都是车少人多,最多练三次),最 ...

  6. python爬虫之抓取高清壁纸

    对于很多电脑玩家喜欢给自己电脑装饰精美的壁纸,但是碍于图片大小清晰度等原因无法找到合适的,今天我就利用爬虫技术手段,现实高清壁纸抓取,需要的小伙伴可以一起过来看看! # coding=utf-8imp ...

  7. python 爬取王者荣耀高清壁纸

    代码地址如下: http://www.demodashi.com/demo/13104.html 一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 ...

  8. python主题壁纸下载_Python开发专属壁纸下载与轮换程序

    本人对于壁纸一直偏佛系,不爱特意去找一堆壁纸.因此用Python简单地搞了一个自动下载壁纸,定时随机轮换的功能来自娱自乐,顺便分享给大家. 原文链接:https://www.codernice.top ...

  9. Python爬虫实例 wallhaven网站高清壁纸爬取。

    文章目录 Python爬虫实例 wallhaven网站高清壁纸爬取 一.数据请求 1.分析网页源码 2.全网页获取 二.数据处理 1.提取原图所在网页链接 2.获取高清图片地址及title 三.下载图 ...

最新文章

  1. 用计算机解组合题,计算机组成原理试题解析5
  2. ISA Server 2004 中的导出、导入和备份功能
  3. 网页最少要有一个html标签,PHP_网页开发人员必须知道的10个不常用HTML标签, 网页开发人员常常希望能 - phpStudy...
  4. PHP 中get_magic_quotes_gpc()函数说明
  5. python flask 上传下载 api_python – 使用Flask上传和下载文件
  6. 怎么能避免浏览器请求超时_浏览器请求服务器超时
  7. 解读30个提高Web程序执行效率的好经验
  8. 有关视图状态(ViewState)的一些问题
  9. 城市土地利用分布数据/城市功能区划分布数据/城市poi感兴趣点/植被类型分布
  10. VS2017安装并配置VTK
  11. 如何在线批量将Word转换为PDF格式
  12. workbench如何截图_戴尔键盘电脑如何快捷键截屏
  13. Oracle如何快速、大量的插入数据
  14. ballerina 学习 三十二 编写安全的程序
  15. 适配器模式【Adapter Pattern】
  16. 计算机视觉入门 拜读
  17. ORACLE表有逻辑坏块时EXPDP导出报错排查
  18. 解读人工智能、大数据和云计算的关系,大佬们赌AI竟都输了?
  19. 2018网易秋招编程题【彩色砖块】
  20. Android第三方集成之一键分享ShareSDK的使用eclipse篇 #CSDN博文精选# #IT# #第三方集成# #安卓#

热门文章

  1. 原生JS实现贪吃蛇——项目总结
  2. 最安全的邮箱-Gmail
  3. dw如何制作图片自动切换效果_dw怎么用css做图片轮播
  4. “铁人三项”运营、技术、资本无短板,BW期货交易平台要逆天爆发?
  5. 3.5学习内容 宽带测速原理,RESTful架构,rpc个人理解
  6. 自动驾驶深度学习常用中英文对照表
  7. Leetcode-1737-满足三条件之一需改变的最少字符数
  8. python最好用的助手_python 好用
  9. VC错误——stack overflow
  10. 英特尔RealSense激光雷达摄像头L515拆解分析