用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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
对Python中Iterator和Iterable的区别详解
今天小编就为大家分享一篇对Python中Iterator和Iterable的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-10-10Python requests.post()方法中data和json参数的使用方法
这篇文章主要介绍了Python requests.post()方法中data和json参数的使用方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下2022-08-08Python调用win10toast框架实现定时调起系统通知
win10toast是一个windows通知的出发框架,使用它可以轻松的调起系统通知。通过它可以很方便的做一个定时通知的功能应用。本文将调用win10toast实现定时调起系统通知功能,需要的可以参考一下2022-01-01
最新评论