溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Python實現(xiàn)一本個性化日歷

發(fā)布時間:2022-02-08 10:28:39 來源:億速云 閱讀:142 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下怎么用Python實現(xiàn)一本個性化日歷的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    一、準(zhǔn)備

    開始之前,你要確保Python和pip已經(jīng)成功安裝在了電腦上。如果沒有,可以在公眾號“Crossin的編程教室”里回復(fù)關(guān)鍵字 安裝,查看相關(guān)演示教程。另外,如果你用Python的目的是做數(shù)據(jù)分析,可以直接安裝Anaconda,

    Windows環(huán)境下打開 CMD (開始—運(yùn)行—CMD),蘋果系統(tǒng)環(huán)境下請打開 終端 Terminal (command+空格輸入Terminal),準(zhǔn)備開始輸入命令安裝依賴。

    在終端輸入以下命令安裝所需要的依賴模塊:

    pip install openpyxl

    看到 Successfully installed xxx 則說明安裝成功。

    二、代碼說明

    1. 獲取日期

    首先,繪制一份日歷,得先知道每個月份有多少天,每天都是星期幾,可以使用calendar包獲得這些信息:

    calendar.monthcalendar(2021, i)

    通過這個函數(shù),我們能得到 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]

    怎么用Python實現(xiàn)一本個性化日歷

    2. 繪制得到日歷

    Openpyxl模塊提供了許多方便的功能,比如設(shè)置單元格格式、調(diào)整單元格顏色、添加圖片等。

    基于Openpyxl,繪制一份日歷最方便的做法是先將日期等信息繪制到excel中,然后再從excel中提取圖片出來。

    Openpyxl怎么用?給大家一個設(shè)置單元格字體的例子:

    sheet.cell(row=j + 4 + count, column=k + 2).font = Font(u'微軟雅黑', color=text_color , size=14)

    sheet是對應(yīng)的表格,row和column就是某個單元格的位置,然后對font屬性進(jìn)行設(shè)置,調(diào)用Font類并設(shè)置參數(shù)。

    如果大家不知道Font類有什么參數(shù),可以參考o(jì)penpyxl官方文檔。

    你可以看到里面大部分單元格的屬性都是類似上面那樣設(shè)置的,非常簡單。

    3. 作品是每個月份都有一個圖在旁邊做裝飾

    為了給每個月份添加一份裝飾圖,需要向Excel中插入圖片,幸運(yùn)的是,Openpyxl提供了很方便的插入方法:

    # 添加圖片 img = Image(f’12graphs/{i}.jpg’) sheet.add_image(img, ‘I2’)

    12graphs下存放了12個月份的圖,循環(huán)遍歷每張表格,就能將對應(yīng)的圖表添加并渲染到 I2 格子上.

    怎么用Python實現(xiàn)一本個性化日歷

    你也可以自行DIY,比如換上女票的照片,然后作為禮物送給她

    請注意圖片的名稱不能過錯,必須是從1到12的jpg格式。

    怎么用Python實現(xiàn)一本個性化日歷

    4. 我們還有一個神秘功能

    差點忘了告訴大家了,我們的日歷能支持備注哦,在調(diào)用get_month_xlsx得到文檔前,通過set_information()放入你某一天想做的事情即可。如:

     set_information('2021-12-1', '考試') set_information('2021-12-1', '約會')

    簡單的代碼講解如上,詳細(xì)代碼可以在公眾號后臺回復(fù) 日歷 下載查看。

    怎么用Python實現(xiàn)一本個性化日歷

    三、運(yùn)行代碼

    終于到了激動人心的運(yùn)行代碼部分了,運(yùn)行這份代碼,你只需要在本地 cmd/terminal 進(jìn)入該項目源代碼文件夾運(yùn)行:

    python calendary.py

    會自動生成一個excel表格叫my_calendary.xlsx,這就是我們生成的日歷了。

    怎樣從里面把日歷提取成圖片?

    很簡單,復(fù)制你想要的部分,粘貼到任何聊天窗口就能變成一張圖片

    怎么用Python實現(xiàn)一本個性化日歷

    以上就是“怎么用Python實現(xiàn)一本個性化日歷”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI