Python3實(shí)現(xiàn)Excel行分級(jí)與單元格填色
Python3實(shí)現(xiàn)Excel行分級(jí)
1. 在Excel中實(shí)現(xiàn)分級(jí)
選擇指定行后,點(diǎn)擊 數(shù)據(jù) - 分級(jí)顯示 - 組合


然后就可以點(diǎn)擊加減號(hào)展開或折疊了。
2. Excel分級(jí)
用openpyxl的row_dimensions.group()實(shí)現(xiàn)。
官方文檔:https://openpyxl.readthedocs.io/en/3.1/api/openpyxl.worksheet.dimensions.html
示例代碼:
from openpyxl import load_workbook wb = load_workbook(r"成本.xlsx") ws = wb.active # 創(chuàng)建分組 ws.row_dimensions.group(8, 96, outline_level=1) ws.row_dimensions.group(10, 37, outline_level=2) ws.row_dimensions.group(39, 67, outline_level=2) # 設(shè)置分組折疊按鈕位置 ws.sheet_properties.outlinePr.summaryBelow = False wb.save(r"trys\grouped_table.xlsx")
原xlsx文檔沒有分級(jí),分級(jí)后的效果就是這樣,你懂吧你就理解一下這個(gè)行和分級(jí)的分布是這樣的:



Python3實(shí)現(xiàn)單元格填色
1. 在Excel中實(shí)現(xiàn)單元格填色
1. 開始 - 字體

2. 在單元格中右鍵選擇填充顏色

2. 單元格填色
使用openpyxl.styles.PatternFill實(shí)現(xiàn),包文檔:https://openpyxl.readthedocs.io/en/stable/index.html
示例代碼:
import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter
# 創(chuàng)建一個(gè)新的 Excel 工作簿
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "Sales Data"
# 添加數(shù)據(jù)
data = [
["Region", "Manager", "Sales"],
["North", "Alice", 1000],
["South", "Bob", 1500],
["East", "Charlie", 2000],
["West", "David", 500],
]
for row in data:
ws.append(row)
# 設(shè)置列寬
for col in range(1, 4):
column_letter = get_column_letter(col)
ws.column_dimensions[column_letter].width = 20
# 給不同級(jí)別的銷售設(shè)置不同的背景色
# 假設(shè) sales > 1500 是“高”級(jí)別,1500 <= sales <= 1000 是“中”級(jí)別,sales < 1000 是“低”級(jí)別
high_fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
medium_fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
low_fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")
# 根據(jù)銷售額來(lái)設(shè)置顏色
for row in ws.iter_rows(min_row=2, min_col=3, max_row=5, max_col=3): # 銷售數(shù)據(jù)在第三列
for cell in row:
if cell.value > 1500:
cell.fill = high_fill
elif cell.value >= 1000:
cell.fill = medium_fill
else:
cell.fill = low_fill
# 保存文件
wb.save(r"trys\sales_data.xlsx")
Excel輸出效果:

到此這篇關(guān)于Python3實(shí)現(xiàn)Excel行分級(jí)與單元格填色的文章就介紹到這了,更多相關(guān)Python3 Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Pytorch 訓(xùn)練與測(cè)試時(shí)爆顯存(out of memory)的問(wèn)題
今天小編就為大家分享一篇解決Pytorch 訓(xùn)練與測(cè)試時(shí)爆顯存(out of memory)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
用python對(duì)excel進(jìn)行操作(讀,寫,修改)
這篇文章主要介紹了用python對(duì)excel進(jìn)行操作(讀,寫,修改),幫助大家更好的利用python處理表格,感興趣的朋友可以了解下2020-12-12
詳解利用裝飾器擴(kuò)展Python計(jì)時(shí)器
在本文中,云朵君將和大家一起了解裝飾器的工作原理,如何將我們之前定義的定時(shí)器類?Timer?擴(kuò)展為裝飾器,以及如何簡(jiǎn)化計(jì)時(shí)功能,感興趣的可以了解一下2022-06-06
Pytorch之上/下采樣函數(shù)torch.nn.functional.interpolate插值詳解
這篇文章主要介紹了Pytorch之上/下采樣函數(shù)torch.nn.functional.interpolate插值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
python實(shí)現(xiàn)微信定時(shí)每天和女友發(fā)送消息
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)微信定時(shí)每天和女友發(fā)送消息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
python 利用pandas將arff文件轉(zhuǎn)csv文件的方法
今天小編就為大家分享一篇python 利用pandas將arff文件轉(zhuǎn)csv文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
淺談pycharm下找不到sqlalchemy的問(wèn)題
今天小編就為大家分享一篇淺談pycharm下找不到sqlalchemy的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python基于opencv的簡(jiǎn)單圖像輪廓形狀識(shí)別(全網(wǎng)最簡(jiǎn)單最少代碼)
這篇文章主要介紹了基于opencv的簡(jiǎn)單圖像輪廓形狀識(shí)別(全網(wǎng)最簡(jiǎn)單最少代碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

