用Python实现一本个性化日历

目录
  • 前言
  • ​一、准备
  • 二、代码说明
    • 1. 获取日期
    • 2. 绘制得到日历
    • 3. 作品是每个月份都有一个图在旁边做装饰
    • 4. 我们还有一个神秘功能
  • ​三、运行代码
  • 总结

前言

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

今天小编就教大家如何用python生成一个日历。

​一、准备

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

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

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

pip install 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)
for row in range(len(month_calendar)):
    for col in range(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官方文档。

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

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 进入该项目源代码文件夹运行:

​​python calendary.py

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

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

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

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

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

总结

到此这篇关于用Python实现一本个性化日历的文章就介绍到这了,更多相关Python个性化日历内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python实现日历效果

    本文实例为大家分享了python实现日历效果的具体代码,供大家参考,具体内容如下 一.代码编程过程 1.根据年月日算出星期几 def get_week_with_data(y,m,d): '''根据年月日计算星期几''' y = y - 1 if m == 1 or m == 2 else y m = 13 if m == 1 else (14 if m == 2 else m) w = (d + 2 * m + 3 * (m + 1) // 5 + y + y // 4 - y // 100

  • python项目--使用Tkinter的日历GUI应用程序

    目录 第一步:安装 Tkinter 第二步:导入模块 第三步:显示给定年份日历 第四步:设置驱动代码 第五步:输出日历 GUI 总结 第一步:安装 Tkinter 首先使用以下命令安装 Tkinter: pip install tk 我们还需要一个日历包,但我们不必安装它,它是python自带的默认包. 第二步:导入模块 首先导入 calendar 模块和 tkinter 模块 import calendar from tkinter import * 第三步:显示给定年份日历 下面的函数显示给

  • 基于python实现简单日历

    本文实例为大家分享了python实现简单日历的具体代码,供大家参考,具体内容如下 首先要理清楚逻辑,日历的难点在于如何使用基础知识将周几与对应的日期进行对应,我这里利用了1917年1月1日为星期1,计算累计到我们要查询的月份的天数来确定所查询月份的第一天为周几. # 输出日历界面 print("*" * 50) print("欢迎使用[天天日历]v2.0") # 接收用户输入的年份 year_int = int(input("请输入年份:\n")

  • 用python自动生成日历

    效果 在Excel日历模板的基础上,生成带有农历日期.节假日.休班等信息的日历,解决DIY日历最大的技术难题. 图中日期,第一行为公历,第二行为节假日,第三行为农历,第四行是其他特别的日子,比如生日.纪念日等. 特点 使用门槛低 Python + Excel,会运行Python脚本,会使用Excel即可上手. 步骤简单 只需要修改Excel的年份(在一月份表头修改),运行一次脚本 可扩展 可制作任意年份的日历(修改年份即可) 可定制 可以添加其他特殊日期 使用手册 第一步,修改日历年份及样式 打

  • 用Python实现一本个性化日历

    目录 前言 ​一.准备 二.代码说明 1. 获取日期 2. 绘制得到日历 3. 作品是每个月份都有一个图在旁边做装饰 4. 我们还有一个神秘功能 ​三.运行代码 总结 前言 哈喽铁汁们~新年到了,很多小伙伴都会买上一本日历.现在各种主题各种式样的日历有很多,不过你有没有想过自己定制一套专属的个性化电子日历呢? 今天小编就教大家如何用python生成一个日历. ​一.准备 开始之前,你要确保Python和pip已经成功安装在了电脑上.如果没有,可以在公众号“Crossin的编程教室”里回复关键字

  • python输出指定月份日历的方法

    本文实例讲述了python输出指定月份日历的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python import calendar cal = calendar.month(2008, 1) print "Here is the calendar:" print cal; 运行结果如下: Here is the calendar: January 2008 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13

  • Python tkinter 下拉日历控件代码

    tkinter 下拉日历控件 网上找的不完善的Tk日历进行修改的,可以快捷的找到并返回日期. 效果如下图,上面的是控件,下面的是调用demo窗口 如下所示: # -*- coding: utf-8 -*- import calendar import tkinter as tk import tkinter.font as tkFont from tkinter import ttk datetime = calendar.datetime.datetime timedelta = calend

  • 浅谈盘点5种基于Python生成的个性化语音方法

    小编在很小的时候就特别喜欢搞怪,模仿别人的声音,尤其是老头老太太模仿的那是一个出神入化. 今天小编就带大家模仿一下个性化的声音,不过不是用小编的嘴,而是用程序,看它们都是怎么被模仿出来的. 1.gtts模块 这是一款语音模块,它可以将任意文字转换为音频文件,格式为mp3.下面我们一起来看看它的用法: 一.安装并导入: pip install gtts from gtts import gTTS 二.配置gtts客户端 tts = gTTS(text=text, lang='zh-tw') tex

  • 使用Python绘制空气质量日历图

    目录 前言 数据 calmap 最后 前言 在github中经常可以看到下面的日历图,可以用来表示每一天在github上的活跃程度. 类似的方法也可以用到空气质量的可视化方式中来,只要有每天的空气质量指数就可以. 数据 我这里使用的是2020年北京市各个监测站点的空气质量观测数据,原始数据包含PM2.5,PM10,AQI指数,这里选择AQI作为示例. 这里对原始数据做了简单处理,具体过程不赘述,感兴趣的话也可以看文末获取方式. 处理后的数据形式如下: calmap 绘制日历图可以用calmap库

  • 利用Python自动化生成爱豆日历详解

    目录 1.科普 2.爱豆日历 3.总结 本次内容有感于<Python编程快速上手-让繁琐工作自动化>. 根据书中的「处理Excel电子表格」章节内容,做出一份专属日历. 使用的模块为openpyxl,一个能读取和修改Excel电子表格的Pyhton模块. 实现自动化处理表格信息,摆脱无趣无味. 此外还有calendar模块,通过该模块生成日历信息. 最后利用openpyxl和calendar库,实现自动化生成爱豆日历. 1.科普 在进行代码操作前,简单对相关知识做个简单的学习. 一个Excel

  • Python如何绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城市空气质量观测数据来源于:https://beijingair.sinaapp.com. 数据处理 从网站下载的数据为逐小时数据,每天一个文件.如果要绘制全年的日历图或者热图,首先要将所有的数据进行合并处理. 下载好数据之后,将数据解压到当前目录的2019文件夹内,然后处理数据: import gl

  • Python制作个性化的词云图实例讲解

    目录 1. 引言 2. 举个栗子 2.1 安装stylecloud库 2.2 生成词云图 2.3 美化显示效果 2.4 处理停用词 2.5 使用自定义背景图像 3. 总结 1. 引言 词云图可以让我们方便地识别出文本中的关键词,其中单词的大小代表它们的频率.有了这个,我们甚至在阅读之前就可以很好地了解文本的内容.虽然有很多免费的工具可以在线制作文字云,但我们可以使用万能的Python来定制个性化的词云图. 在本文中,我们将使用第三方Python库stylecloud,有了该库,可以通过简短的几行

  • Python实现周日历与时间相互转换

    目录 前言 基本介绍 使用datetime类格式化进行转换 问题 正确方法 使用isocalendar将日期转换为周日历 使用 fromisocalendar 将周日历转换为日期 python代码 前言 周日历(ISO国际标准) 介绍在线周日历(2022年) 基本介绍 在开发过程中,有些汇总咨询需要以周为单位统计,所以介绍下如何进行相互转换. 使用datetime类格式化进行转换 strftime 方法可以将时间转换为字符串 strptime 方法可以将字符串转为时间 "%Y,%W,%w&quo

  • Python中SOAP项目的介绍及其在web开发中的应用

    SOAP.py 客户机和服务器 SOAP.py 包含的是一些基本的东西.没有 Web 服务描述语言(Web Services Description Language,WSDL)或者任何其它附加的东西,只有用 Python 实现的 SOAP 客户机和服务器的透明支持.甚至这个包中的一个很好的功能也只是与基础架构相关:SOAP.py 支持安全套接字层(SSL)用于加密的 SOAP 传输.为使用这个功能,您必须安装 M2Crypto,M2Crypto 是一个库,包含各种加密工具和格式,从 RSA 和

随机推荐