利用Python自動(dòng)化生成愛豆日歷詳解_第1頁
利用Python自動(dòng)化生成愛豆日歷詳解_第2頁
利用Python自動(dòng)化生成愛豆日歷詳解_第3頁
利用Python自動(dòng)化生成愛豆日歷詳解_第4頁
利用Python自動(dòng)化生成愛豆日歷詳解_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第利用Python自動(dòng)化生成愛豆日歷詳解目錄1.科普2.愛豆日歷3.總結(jié)本次內(nèi)容有感于《Python編程快速上手-讓繁瑣工作自動(dòng)化》。

根據(jù)書中的「處理Excel電子表格」章節(jié)內(nèi)容,做出一份專屬日歷。

使用的模塊為openpyxl,一個(gè)能讀取和修改Excel電子表格的Pyhton模塊。

實(shí)現(xiàn)自動(dòng)化處理表格信息,擺脫無趣無味。

此外還有calendar模塊,通過該模塊生成日歷信息。

最后利用openpyxl和calendar庫,實(shí)現(xiàn)自動(dòng)化生成愛豆日歷。

1.科普

在進(jìn)行代碼操作前,簡單對(duì)相關(guān)知識(shí)做個(gè)簡單的學(xué)習(xí)。

一個(gè)Excel電子表格文檔稱為一個(gè)工作?。

一個(gè)工作?保存在擴(kuò)展名為「.xlsx」的文件中。

劃重點(diǎn),openpyxl只支持「.xlsx」類型的格式。

所以對(duì)于Excel2003版「.xls」格式是不支持的。

每個(gè)工作?可以包含多個(gè)表,又稱為工作表。

本次生成的信息就是在一個(gè)工作?,12個(gè)工作表內(nèi)。

calendar庫主要是生成日歷信息。

importcalendar

#設(shè)置每周的起始日期碼,為星期天

calendar.setfirstweekday(firstweekday=6)

#返回2025年年歷

print(calendar.calendar(2025,w=2,l=1,c=6))

輸出如下

返回1月份每列信息情況。

#返回每月每列信息

print(calendar.monthcalendar(2025,1))

#輸出結(jié)果

[[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,0,0]]

與上圖里1月份信息比較下,你會(huì)發(fā)現(xiàn)多了個(gè)數(shù)字0。

其他完全一樣,所以遍歷列表信息就完事了。

2.愛豆日歷

愛豆日歷的生成其實(shí)也挺簡單的。

主要是單元格文本添加,字體設(shè)置,背景設(shè)置,圖片設(shè)置。

詳細(xì)代碼如下。

fromopenpyxl.stylesimportAlignment,PatternFill,Font

fromopenpyxl.utilsimportget_column_letter

fromopenpyxl.drawing.imageimportImage

importopenpyxl

importcalendar

#設(shè)置第一天為星期天

calendar.setfirstweekday(firstweekday=6)

#創(chuàng)建一個(gè)工作?

wb=openpyxl.Workbook()

#遍歷12個(gè)月

foriinrange(1,13):

#添加工作表

sheet=wb.create_sheet(index=0,title=str(i)+'月')

#獲取具體日期時(shí)間

forjinrange(len(calendar.monthcalendar(2025,i))):

forkinrange(len(calendar.monthcalendar(2025,i)[j])):

value=calendar.monthcalendar(2025,i)[j][k]

#將0值變?yōu)榭罩?/p>

ifvalue==0:

value=''

sheet.cell(row=j+9,column=k+1).value=value

else:

sheet.cell(row=j+9,column=k+1).value=value

#設(shè)置字體

sheet.cell(row=j+9,column=k+1).font=Font(u'微軟雅黑',size=11)

#單元格文字設(shè)置,右對(duì)齊,垂直居中

align=Alignment(horizontal='right',vertical='center')

#單元格填充色屬性設(shè)置

fill=PatternFill("solid",fgColor="B9EBF7")

#對(duì)單元格進(jìn)行顏色填充

fork1inrange(1,100):

fork2inrange(1,100):

sheet.cell(row=k1,column=k2).fill=fill

#添加星期幾信息行

days=['星期日','星期一','星期二','星期三','星期四','星期五','星期六']

num=0

fork3inrange(1,8):

sheet.cell(row=8,column=k3).value=days[num]

sheet.cell(row=8,column=k3).alignment=align

sheet.cell(row=8,column=k3).font=Font(u'微軟雅黑',size=11)

#設(shè)置列寬12

c_char=get_column_letter(k3)

sheet.column_dimensions[get_column_letter(k3)].width=12

num+=1

#設(shè)置行高30

fork4inrange(8,14):

sheet.row_dimensions[k4].height=30

#合并單元格

sheet.merge_cells('I1:P20')

#添加圖片

img=Image('huge_2.jpg')

sheet.add_image(img,'I1')

#添加年份及月份

sheet.cell(row=3,column=1).value='2025年'

sheet.cell(row=4,column=1).value=str(i)+'月'

#設(shè)置年份及月份文本屬性

sheet.cell(row=3,column=1).font=Font(u'微軟雅黑',size=16,bold=True,color='FF7887')

sheet.cell(row=4,column=1).font=Font(u'微軟雅黑',size=16,bold=True,color='FF7887')

sheet.cell(row=3,column=1).alignment=align

sheet.cell(row=4,column=1).alignment=align

#保存文檔

wb.save('愛豆日歷.xlsx')

最后來個(gè)小預(yù)覽。

原來小F的愛豆是胡歌,那么你的又是誰。

還不去動(dòng)動(dòng)手,做出屬于自己的愛豆日歷。

這里小F由于時(shí)間關(guān)系,忘記給星期六、星期日這兩列更改字體顏色。

小伙伴們?cè)趪L試的時(shí)候,記得更改?。。?/p>

3.總結(jié)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論