Python 无法通过DataFrame有条件地设置Excel单元格的背景色

Python 无法通过DataFrame有条件地设置Excel单元格的背景色,python,pandas,dataframe,Python,Pandas,Dataframe,我试图使用pandas dataframe和Python将数据填充到Excel工作表中,使用下面的代码段,但单元格没有获得适当的背景颜色 dfList = [] def color_cells(val): print(val,type(val)) if val < 0: return ['background-color: red'] else: return ['background-color: green'] for inde

我试图使用pandas dataframe和Python将数据填充到Excel工作表中,使用下面的代码段,但单元格没有获得适当的背景颜色

dfList = []
def color_cells(val):
    print(val,type(val))
    if val < 0:
        return ['background-color: red']
    else:
        return ['background-color: green']

for index in args.indices:
    indexDF = someMethodToPopulateDF()
    dfList.append(indexDF)


finalDF = pd.concat(dfList,axis=1)
finalDF.style.apply(color_cells)
finalDF.to_excel('Comparison.xls', header=True)
dfList=[]
def颜色_单元(val):
打印(val,类型(val))
如果val<0:
返回['background-color:red']
其他:
返回['background-color:green']
对于args.index中的索引:
indexDF=someMethodToPopulateDF()
追加(indexDF)
finalDF=pd.concat(dfList,轴=1)
finalDF.style.apply(颜色单元格)
finalDF.to_excel('Comparison.xls',header=True)

为了更清楚,dfList是一个数据帧列表,它由一些方法填充,稍后我将把这个列表连接到一个数据帧中。我打算将此最终数据框写入excel工作表。

如果您打算在元素方面应用背景色,则应使用
applymap
,从文本样式中删除方括号,并将生成的
样式器
重新指定给一个变量,该变量随后可以生成所需的
xls
。此外,还可以将以下函数与
axis
关键字参数一起使用,以按列或按行方式迭代数据

  • 元素样式的Styler.applymap(func)
  • Styler.apply(func,axis=0)用于列式样式
  • 按行样式应用(func,axis=1)
  • 针对表格样式应用(func,axis=None)
将熊猫作为pd导入
def颜色_单元(val):
打印(val,类型(val))
如果val<0:
返回“背景色:红色”
其他:
返回“背景色:绿色”
dfList=[]
对于['A','B','C']中的i:
追加(pd.DataFrame({i:[j代表范围(-5,5)]}))
finalDF=pd.concat(dfList,轴=1)
finalDF=finalDF.style.applymap(颜色单元格)
finalDF.to_excel('Comparison.xls',header=True)

如果您打算在元素上应用背景色,则应使用
applymap
,从文本样式中删除方括号,并将生成的
样式器
重新指定给一个变量,该变量以后可以生成所需的
xls
。此外,还可以将以下函数与
axis
关键字参数一起使用,以按列或按行方式迭代数据

  • 元素样式的Styler.applymap(func)
  • Styler.apply(func,axis=0)用于列式样式
  • 按行样式应用(func,axis=1)
  • 针对表格样式应用(func,axis=None)
将熊猫作为pd导入
def颜色_单元(val):
打印(val,类型(val))
如果val<0:
返回“背景色:红色”
其他:
返回“背景色:绿色”
dfList=[]
对于['A','B','C']中的i:
追加(pd.DataFrame({i:[j代表范围(-5,5)]}))
finalDF=pd.concat(dfList,轴=1)
finalDF=finalDF.style.applymap(颜色单元格)
finalDF.to_excel('Comparison.xls',header=True)

问题与机器学习无关-请不要发送不相关的标签(已删除)。问题与机器学习无关-请不要发送不相关的标签(已删除)。