




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第用Python制作我的核酸檢測(cè)日歷我的坐標(biāo)是深圳,2025年以來,大部分時(shí)候要求24小時(shí),少部分時(shí)候要求48小時(shí),更少的時(shí)候要求72小時(shí),沒有更長(zhǎng)的情況。
本文根據(jù)我的核酸檢測(cè)記錄,制作成日歷,將核酸檢測(cè)記錄可視化到日歷中。
核酸檢測(cè)記錄能查到的最早時(shí)間范圍是一個(gè)月,以前的檢測(cè)記錄沒有提前保存,所以先用8月份的數(shù)據(jù)制作日歷。
查詢8月份的檢測(cè)記錄,錄入到代碼中。
#coding=utf-8
fromdatetimeimportdatetime
#核酸檢測(cè)數(shù)據(jù),1表示當(dāng)天做了核酸,0表示當(dāng)天未做核酸
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]
}
如果當(dāng)天做了核酸,用1表示,如果當(dāng)天未做核酸,用0表示。
8月的日期使用Python標(biāo)準(zhǔn)庫(kù)datetime生成。
本文使用Python庫(kù)openpyxl在excel表格中生成日歷。
1.使用openpyxl創(chuàng)建表格
importopenpyxl
#創(chuàng)建一個(gè)workbook對(duì)象,而且會(huì)在workbook中至少創(chuàng)建一個(gè)表worksheet
wb=openpyxl.Workbook()
#獲取當(dāng)前活躍的worksheet,默認(rèn)就是第一個(gè)worksheet
ws=wb.active
openpyxl是Python中用于讀寫excel文件的庫(kù),pipinstallopenpyxl安裝即可使用。
2.定義表格初始化和單元格設(shè)置的函數(shù)
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(>
定義一個(gè)將表格顏色填充成白色的函數(shù),對(duì)表格初始化處理,將背景設(shè)置成純白,日歷看起來更美觀。
定義一個(gè)用于處理單元格格式的函數(shù),后面直接調(diào)用函數(shù)給單元格設(shè)置格式,方便重復(fù)使用。
3.實(shí)現(xiàn)日歷
importcalendar
#將表格填充成白色
init_sheet(ws)
#設(shè)置年月單元格的邊框
side=Side(>
日歷效果:
可以看到,8月份我只有4天沒有做核酸,大部分時(shí)間都是保持24小時(shí)。
代碼實(shí)現(xiàn)介紹:
先合并首行的前7列單元格,寫入年月,然后在第二行從左到右寫入星期一到星期日,并設(shè)置格式。
使用Python的日歷庫(kù)calendar返回當(dāng)前月第一天是星期幾,然后確定日歷的1號(hào)的起始位置。
從1號(hào)開始,依次在excel中寫入日期,當(dāng)列到達(dá)星期日時(shí),換行并回到星期一的列。
根據(jù)當(dāng)天是否做了核酸,給單元格填充背景顏色。本文中如果當(dāng)天做了核酸,則日期的背景設(shè)置為綠色(24小時(shí)核酸碼的顏色),如果未做核酸,則日期的背景設(shè)置為白色。
最后將結(jié)果保存到excel文件中,打開excel文件即可看到制作的日歷。
制作一年的日歷
制作了一個(gè)月的日歷后,繼續(xù)擴(kuò)展做一年的日歷,先看一下效果:
實(shí)現(xiàn)方式介紹:
數(shù)據(jù)補(bǔ)充,由于只能查到一個(gè)月的核酸記錄,所以本文除2025年8月外,其他月份的數(shù)據(jù)用隨機(jī)數(shù)生成。
對(duì)制作一個(gè)月日歷的代碼進(jìn)行封裝,傳入年和月,就可以生成任意一個(gè)月的日歷。
在excel文件中,自己設(shè)計(jì)一排展示幾個(gè)月,本文一排展示3個(gè)月。并計(jì)算每個(gè)月日歷的起始單元格位置。
最后傳入年份,依次將一年12個(gè)月的日歷制作出來,展示在一個(gè)頁(yè)面上。只要有數(shù)據(jù),可以對(duì)任意一年的日歷進(jìn)行可視化。(代碼較長(zhǎng),可在文末獲取完整代碼)
按年的另一種展示方式:
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=核酸檢測(cè)日歷,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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦理資質(zhì)委托代理協(xié)議3篇
- 食品廠入職合同3篇
- 專業(yè)基礎(chǔ)知識(shí)試題及答案
- 上海數(shù)學(xué)期末試題及答案
- 上戲往試題及答案
- 殘疾人輔助就業(yè) 用工協(xié)議6篇
- 認(rèn)識(shí)媒體和信息素養(yǎng)
- T/ZQIE 006-2023金利五金高品質(zhì)家居用緩沖型杯狀暗鉸鏈
- 問卷設(shè)計(jì)說明書
- T/ZJSEE 0017-2023新能源匯聚站接入系統(tǒng)設(shè)計(jì)規(guī)范
- 脛腓骨遠(yuǎn)端骨折護(hù)理查房
- 文體部面試題及答案
- 山東省濟(jì)南市2025年3月高三模擬考試化學(xué)試題及答案
- 某某工業(yè)新城彎道反光鏡項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告(總投資7040萬元)
- 保安勞務(wù)外包服務(wù)投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- 知識(shí)產(chǎn)權(quán)銷售話術(shù)技巧
- 兩孩離婚協(xié)議(2025年版)
- 河南省歷年中考語(yǔ)文現(xiàn)代文閱讀之非連續(xù)性文本閱讀5篇(截至2024年)
- 新版《醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理規(guī)范》(2024)培訓(xùn)試題及答案
- 軟件項(xiàng)目應(yīng)急措施及方案
- 《教育研究方法》課件
評(píng)論
0/150
提交評(píng)論