python上的xlsxwriter,使用带';3#u颜色#u刻度';

python上的xlsxwriter,使用带';3#u颜色#u刻度';,python,python-2.7,pandas,xlsxwriter,Python,Python 2.7,Pandas,Xlsxwriter,我有一个数据框,我可以将它写入excel工作表。然后我想格式化它,使它显示该数据帧的热图 我认为最好的方法是使用工作表.conditional_format()函数,并将{'type':'3_color_scale'}作为参数 然而,我注意到这个只包含整数的单元格中的颜色。它不会给任何有浮动的东西上色。有人知道如何解决这个问题吗 下面是一个代码示例 writer = pd.ExcelWriter(file_name, engine='xlsxwriter') df.to_excel(writer

我有一个数据框,我可以将它写入excel工作表。然后我想格式化它,使它显示该数据帧的热图

我认为最好的方法是使用
工作表.conditional_format()
函数,并将
{'type':'3_color_scale'}
作为参数

然而,我注意到这个只包含整数的单元格中的颜色。它不会给任何有浮动的东西上色。有人知道如何解决这个问题吗

下面是一个代码示例

writer = pd.ExcelWriter(file_name, engine='xlsxwriter')
df.to_excel(writer, sheet_name=selected_factor, startrow=row_location, startcol=col_location)
worksheet = writer.sheets['Sheet 1 testing']
worksheet.conditional_format('B8:E17',{'type': '3_color_scale'})
我使用的是
python2.7
pandas版本0.15.2

编辑


我找到了它给我带来麻烦的原因,这些数字被作为字符串保存到电子表格中,而不是浮点数。

当我运行下面的示例时,我没有看到这个问题。它突出显示整数和浮点数:

import pandas as pd

# Create a Pandas dataframe from some data.
df = pd.DataFrame({'Data': [10, 20.5, 30, 40, 50.7, 62, 70]})

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('pandas_conditional.xlsx', engine='xlsxwriter')

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')

# Get the xlsxwriter workbook and worksheet objects.
workbook  = writer.book
worksheet = writer.sheets['Sheet1']

# Apply a conditional format to the cell range.
worksheet.conditional_format('B2:B8', {'type': '3_color_scale'})

# Close the Pandas Excel writer and output the Excel file.
writer.save()
输出:


@jmcnamra我弄明白了为什么它对我不起作用,数字被存储为字符串而不是浮点数!