DataFrame雖然操作便利,但是DataFrame又有個(gè)不如意的地方就是不能針對表去進(jìn)行設(shè)置格式(字體顏色、大小之類的),所以有的時(shí)候?yàn)榱丝梢栽O(shè)置表的格式還是需要用那幾個(gè)比較麻煩的 Excel模塊。直到我遇到了StyleFrame模塊,這個(gè)模塊是把Pandas和openpyxl進(jìn)行了結(jié)合,讓你既可以享受DataFrame的操作便利,又可以輕松利用openpyxl進(jìn)行表格樣式設(shè)置。
接下來我們就看一看如何針對DataFrame表進(jìn)行樣式設(shè)置。要看怎么設(shè)置,我們得先看看可以設(shè)置什么。延續(xù)『對比Excel』特點(diǎn),我們還是同樣看看Excel中有哪些格式可以設(shè)置。
Excel中我們平常設(shè)置的主要有字體(類型、顏色、邊框線、背景色、下劃線、大小、加粗)、對齊方式(水平方向、垂直方向)、數(shù)字(數(shù)據(jù)顯示格式,百分?jǐn)?shù)、小數(shù)點(diǎn)位數(shù)、時(shí)間格式等設(shè)置)、條件格式四個(gè)部分。
因?yàn)镾tyleFrame這個(gè)模塊不是Anaconda自帶的,所以需要我們手動進(jìn)行安裝。直接進(jìn)行如下命令即可進(jìn)行安裝:
你也可以選擇其他安裝方式,關(guān)于包的安裝方式可以看這篇:講幾種Python包的安裝方式
如果你是python3.7,那么你直接運(yùn)行上述命令可能會報(bào)錯(cuò),因?yàn)閜ip默認(rèn)安裝的是該模塊的最新版本(目前最新是2.0.2),但是最新版本可能不太兼容,這個(gè)時(shí)候你可以安裝1.6.2版本(2.0版本嘗試了也安裝失敗)的,我就是用的1.6.2版本安裝成功的。安裝命令如下:
安裝好以后,我們需要新建一個(gè)StyleFrame供接下來使用,新建StyleFrame使用的方法與新建DataFrame用的一樣。
需要注意的是這里的sf不同于DataFrame表的df,是不可以預(yù)覽的。
我們主要通過對下面的Styler進(jìn)行樣式設(shè)置。
以下為Styler對象的參數(shù)說明:
設(shè)置完樣式以后,我們就需要來指定在哪一行或哪一列上使用這個(gè)樣式。
在某一列上使用樣式時(shí)需要用到如下方法:
參數(shù)說明如下:
我們除了在某一列上設(shè)置樣式外,我們有的時(shí)候要需要針對某些行進(jìn)行樣式設(shè)置,用到的方法如下:
參數(shù)說明如下:
這一篇我們主要講講字體相關(guān)的設(shè)置,其他設(shè)置留在下一篇再講。
第一個(gè)是關(guān)于字體類型的設(shè)置,也就是什么字體,關(guān)于字體類型設(shè)置使用的是font參數(shù),主要有如下幾種參數(shù)值(字體)可選:
字體類型中用的最多的就是arial,即微軟雅黑。當(dāng)我們把字體樣式設(shè)置成Arial樣式,實(shí)現(xiàn)代碼如下:
我們用Excel打開設(shè)置樣式后的文件,在字體類型那一欄就會顯示Arial:
第二個(gè)是關(guān)于字體顏色的設(shè)置,關(guān)于字體顏色設(shè)置使用的是font_color參數(shù),主要有如下幾種參數(shù)值(顏色)可選:
我們把col_1列的字體設(shè)置成綠色,col_2列字體設(shè)置成紅色,實(shí)現(xiàn)代碼如下:
最后效果如下:
第三個(gè)是關(guān)于單元格邊框線設(shè)置的,關(guān)于邊框線的設(shè)置使用的border_type參數(shù),主要有如下幾種參數(shù)值(邊框線類型)可選:
這里的邊框線其實(shí)也是一種線,那既然是線的設(shè)置,就和我們之前學(xué)過的折線圖里面線的設(shè)置大同小異了,大家可以根據(jù)自己的需求選擇合適的線形。
我們把邊框線設(shè)置成點(diǎn)劃線,實(shí)現(xiàn)代碼如下:
最后效果如下:
第四個(gè)是關(guān)于背景色的設(shè)計(jì),即單元格填充顏色,關(guān)于單元格背景顏色使用的是bg_color參數(shù),單元格背景的可選顏色和字體顏色一致,這里不再贅述。
我們把col_1列的單元格背景設(shè)置成綠色,col_2列單元格背景設(shè)置成紅色,實(shí)現(xiàn)代碼如下:
最后效果如下:
第五個(gè)是關(guān)于下劃線設(shè)置,給字加下劃線,關(guān)于下劃線的設(shè)置使用的是underline參數(shù),主要有如下幾種參數(shù)值(下劃線類型)可選:
我們把整表全部加單下劃線,實(shí)現(xiàn)代碼如下:
最后效果如下:
第六是字體大小的設(shè)置,字體大小的設(shè)置就比較簡單了,直接給參數(shù)font_size指明一個(gè)具體數(shù)字就行。如下,我們將第一列設(shè)置成20號字體,將第二列設(shè)置成12號字體。實(shí)現(xiàn)代碼如下:
最后效果如下:
第七個(gè)是字體是否加粗的設(shè)置,關(guān)于字體是否加粗使用的是bold參數(shù),如果要讓字體加粗,另bold=True,否則不設(shè)置即可。
我們將第兒列字體進(jìn)行加粗,第一列不進(jìn)行設(shè)置,實(shí)現(xiàn)代碼如下:
最后效果如下:
關(guān)于字體相關(guān)的設(shè)置,我們就講到這里,下一篇開始講一些其他方面的設(shè)置,敬請期待。