用python如何繪制表格不同顏色的excel
更新時間:2021年11月05日 10:00:39 作者:廣大菜鳥
做數據分析的時候,用到了對Excel中的數據進行顯示處理,能更直觀的了解數據,所以下面這篇文章主要給大家介紹了關于利用python如何繪制表格不同顏色excel的相關資料,需要的朋友可以參考下
需求:
需求簡單:但是感覺最后那部分遍歷有意思:S型數組賦值,考慮到下標,簡單題
先實現個差不多的
m = 5 cols = 9 rows = 4 nums = [0, 1] array = [[-1 for _ in range(9)] for _ in range(4)] i, j = 0, 0 t = 0 index = -1 while t < cols * rows: if i % rows == 0 and i > 0: j += 1 i -= 1 if i < 0: j += 1 i += 1 # if t % m == 0: # index = (index + 1) % len(nums) array[i][j] = t # index if j % 2 == 0: # 0,2,..2n 下 i += 1 else: # 1,3, 2n+1 上 i -= 1 t += 1 for i in range(4): print(array[i])
需求代碼:
from openpyxl import Workbook from openpyxl.styles import PatternFill, Side, Border # 仿照excel格式 # excel文件路徑 file_path = 'C:/Users/Lenovo/Desktop/工作簿2.xlsx' colors = ['000000', '44546A', 'CC00FF', '00008B'] colorsLen = len(colors) fills = [PatternFill("solid", fgColor=color) for color in colors] workbook = Workbook() sheet = workbook.create_sheet("Sheet1", 0) rows, cols = 19, 9 colorIndex = -1 block_height = 5 # 按行 for i in range(int(rows / block_height)): for j in range(cols): colorIndex = (colorIndex + 1) % colorsLen for p in range(block_height): row = block_height * i + p col = j cell = sheet.cell(column=col + 1, row=row + 1) cell.fill = fills[colorIndex] cell.border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin')) # 按列 if rows % block_height != 0: newRows = rows % block_height preRows = rows - rows % newRows - 1 newCols = cols i, j = 0, 0 t = 0 while t < newCols * newRows: if i % newRows == 0 and i > 0: j += 1 i -= 1 if i < 0: j += 1 i += 1 if t % block_height == 0: colorIndex = (colorIndex + 1) % colorsLen cell = sheet.cell(column=j + 1, row=preRows + i + 1) cell.fill = fills[colorIndex] cell.border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin')) if j % 2 == 0: # 0,2,..2n 下 i += 1 else: # 1,3, 2n+1 上 i -= 1 t += 1 workbook.save(file_path) # 下面是學習讀取的部分代碼 # wb = openpyxl.load_workbook(file_path) # sheet_name = 'Sheet1' # sheet = wb.get_sheet_by_name(sheet_name) # for r in range(1, sheet.max_row + 1): # for c in range(1, sheet.max_column + 1): # item = sheet.cell(row=r, column=c) # print(item, end=' ') # print() # wb.save(file_path)
顏色沒對上,意思差不多就行了
總結
到此這篇關于用python如何繪制表格不同顏色excel的文章就介紹到這了,更多相關python繪制不同顏色excel內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python一行代碼識別發(fā)票并保存Excel示例詳解
這篇文章主要為大家介紹了Python一行代碼識別發(fā)票并保存Excel示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03