首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xlsxwriter条件格式

xlsxwriter条件格式
EN

Stack Overflow用户
提问于 2018-03-17 09:44:54
回答 1查看 10.8K关注 0票数 0

我的问题很直接,我可以在执行条件格式时传递多个类型的值对,例如:

代码语言:javascript
复制
worksheet.conditional_format(first row, first col, last row, last col, 
                             {"type": ["no_blanks", "blanks"], 
                              "format": abc})

执行此操作时,我得到以下错误: TypeError: unhashable type:'list‘

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-18 01:18:19

在关于worksheet.conditional_format() (链接在这里)的类型参数的Xlsxwriter文档中,您将在文档中看到type: 'blank'type: 'no_blank'没有允许的参数。因此,为了使这一工作,您必须做单独的条件格式。

想必,对于那些空白的单元格和那些不是空白的单元格,您可能想要一种不同的格式。我在下面给出了一个可重复的例子。

代码语言:javascript
复制
import pandas as pd
import xlsxwriter

first_row=1
last_row=6
first_col=0
last_col=1

df = pd.DataFrame({'Data': ['not blank', '', '', 'not blank', '', '']})
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
workbook  = writer.book
abc = workbook.add_format({'bg_color': 'red'})
efg = workbook.add_format({'bg_color': 'green'})
worksheet = writer.sheets['Sheet1']
worksheet.conditional_format(first_row, first_col, last_row, last_col,
                             {'type': 'blanks',
                             'format': abc})
worksheet.conditional_format(first_row, first_col, last_row, last_col,
                             {'type': 'no_blanks',
                             'format':    efg})
writer.save()

预期输出:

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49334585

复制
相关文章

相似问题

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