版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第用Python制作我的核酸检测日历我的坐标是深圳,2025年以来,大部分时候要求24小时,少部分时候要求48小时,更少的时候要求72小时,没有更长的情况。
本文根据我的核酸检测记录,制作成日历,将核酸检测记录可视化到日历中。
核酸检测记录能查到的最早时间范围是一个月,以前的检测记录没有提前保存,所以先用8月份的数据制作日历。
查询8月份的检测记录,录入到代码中。
#coding=utf-8
fromdatetimeimportdatetime
#核酸检测数据,1表示当天做了核酸,0表示当天未做核酸
my_nucleic={
date:[datetime.strftime(datetime(2025,8,i+1),%Y-%m-%d)foriinrange(31)],
nucleic:[1,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
}
如果当天做了核酸,用1表示,如果当天未做核酸,用0表示。
8月的日期使用Python标准库datetime生成。
本文使用Python库openpyxl在excel表格中生成日历。
1.使用openpyxl创建表格
importopenpyxl
#创建一个workbook对象,而且会在workbook中至少创建一个表worksheet
wb=openpyxl.Workbook()
#获取当前活跃的worksheet,默认就是第一个worksheet
ws=wb.active
openpyxl是Python中用于读写excel文件的库,pipinstallopenpyxl安装即可使用。
2.定义表格初始化和单元格设置的函数
fromopenpyxl.stylesimportPatternFill,Font,Alignment,Border,Side
definit_sheet(ws):
forrinrange(100):
forcinrange(100):
ws.cell(row=r+1,column=c+1).fill=PatternFill(solid,fgColor=000000)
defset_cell_style(ws,r,c,color):
ws.cell(row=r,column=c).fill=PatternFill(solid,fgColor=color)
ws.cell(row=r,column=c).font=Font(name=微软雅黑,size=14,bold=True)
ws.cell(row=r,column=c).alignment=Alignment(horizontal=right,vertical=center)
side=Side(>
定义一个将表格颜色填充成白色的函数,对表格初始化处理,将背景设置成纯白,日历看起来更美观。
定义一个用于处理单元格格式的函数,后面直接调用函数给单元格设置格式,方便重复使用。
3.实现日历
importcalendar
#将表格填充成白色
init_sheet(ws)
#设置年月单元格的边框
side=Side(>
日历效果:
可以看到,8月份我只有4天没有做核酸,大部分时间都是保持24小时。
代码实现介绍:
先合并首行的前7列单元格,写入年月,然后在第二行从左到右写入星期一到星期日,并设置格式。
使用Python的日历库calendar返回当前月第一天是星期几,然后确定日历的1号的起始位置。
从1号开始,依次在excel中写入日期,当列到达星期日时,换行并回到星期一的列。
根据当天是否做了核酸,给单元格填充背景颜色。本文中如果当天做了核酸,则日期的背景设置为绿色(24小时核酸码的颜色),如果未做核酸,则日期的背景设置为白色。
最后将结果保存到excel文件中,打开excel文件即可看到制作的日历。
制作一年的日历
制作了一个月的日历后,继续扩展做一年的日历,先看一下效果:
实现方式介绍:
数据补充,由于只能查到一个月的核酸记录,所以本文除2025年8月外,其他月份的数据用随机数生成。
对制作一个月日历的代码进行封装,传入年和月,就可以生成任意一个月的日历。
在excel文件中,自己设计一排展示几个月,本文一排展示3个月。并计算每个月日历的起始单元格位置。
最后传入年份,依次将一年12个月的日历制作出来,展示在一个页面上。只要有数据,可以对任意一年的日历进行可视化。(代码较长,可在文末获取完整代码)
按年的另一种展示方式:
frompyechartsimportoptionsasopts
frompyecharts.chartsimportCalendar
importpandasaspd
nucleic_df=pd.DataFrame()
foriinrange(12):
month_nucleic=made_data(2025,i+1)
month_df=pd.DataFrame(month_nucleic)
nucleic_df=pd.concat([nucleic_df,month_df])
data=[[row_data[date],row_data[nucleic]]forrow_index,row_datainnucleic_df.iterrows()]
cal=Calendar(init_opts=opts.InitOpts(width=900px,height=500px))
cal.add(
,data,calendar_opts=opts.CalendarOpts(range_=2025,
daylabel_opts=opts.CalendarDayLabelOpts(first_day=1,name_map=cn))
).set_series_opts(
label_opts=opts.LabelOpts(font_size=12)
).set_global_opts(
title_opts=opts.TitleOpts(title=核酸检测日历,pos_left=450,pos_top=0,
title_textstyle_opts=opts.TextStyleOpts(color=black,font_size=16)),
visualmap_opts=opts.VisualMapOpts(
max_=1,min_=0,orient=horizontal,is_piecewise=False,
range_color=[white,white,green],pos_top=250px,pos_left=50px
).render(my_nucleic.html)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小队线上活动方案策划(3篇)
- 农技讲座活动方案策划(3篇)
- 社区年度策划活动方案(3篇)
- 住院医师规范化培训《口腔病理科》练习题库(含参考答案解析)
- 住院医师规范化培训《口腔病理科》练习题库含答案(附解析)
- 山推股份公司深度研究:“挖”出新天地“推”向全世界
- 年产200套游乐设备专用电缆生产项目可行性研究报告
- 粘结NDFEB项目可行性研究报告
- 矿用节能干式变压器生产建设项目可行性研究报告
- 体育旅游:赛事观光与体验式运动
- 超市消防预案和应急预案
- 淤泥检测分析施工方案
- “动物医学专业”、“畜牧兽医专业”单招复习参考试题
- 2026甘肃省公务员考试题及答案行测
- 2025年青海省公务员考试职业能力测试真题试卷(含答案)
- 企业安全生产规章制度和操作规程
- 铁路工程路基塑料排水板施工质量通病、原因分析及应对措施
- IATF16949质量管理体系内部审核检查表(按过程方法编制)
- 2025年企业实施《兽药经营质量管理规范》情况的自查报告
- 清水混凝土漆施工方案
- 2025年及未来5年中国中车轨交行业发展潜力预测及投资战略、数据研究报告
评论
0/150
提交评论