首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据行号格式化行

根据行号格式化行
EN

Stack Overflow用户
提问于 2021-04-28 18:58:03
回答 1查看 69关注 0票数 0

我试图根据行号使用openpyxl格式化行。这是我的尝试:

代码语言:javascript
复制
for row in ws2.iter_rows(min_row=3, min_col=3, max_col=26):
    if ((row-3)//4)+1 % 2 == 0:
        for cell in row:
            cell.fill = PatternFill(bgColor="A0ACEA", fill_type="solid")
    else:
        for cell in row:
            cell.fill = PatternFill(bgColor="D3D7F0", fill_type="solid")

我得到了以下错误。我明白这意味着什么,但我不知道如何解决。

代码语言:javascript
复制
if ((row-3)//4)+1 % 2 == 0:
TypeError: unsupported operand type(s) for -: 'tuple' and 'int'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-28 19:01:33

在第一个for循环中得到的每一行都是元组,而不是int。当您尝试row-3时,您将得到一个错误,因为您不能用元组和整数进行算术。

您得到的是行本身,而不是行的索引。这正是enumerate的作用所在。

试试这个:

代码语言:javascript
复制
for i, row in enumerate(ws2.iter_rows(min_row=3, min_col=3, max_col=26)):
    if ((i-3)//4)+1 % 2 == 0:
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67306317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档