Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 将数据框导出到excel时为单元格着色_Pandas_Dataframe_Pandas.excelwriter - Fatal编程技术网

Pandas 将数据框导出到excel时为单元格着色

Pandas 将数据框导出到excel时为单元格着色,pandas,dataframe,pandas.excelwriter,Pandas,Dataframe,Pandas.excelwriter,我的数据帧“df”如下所示: x = [1,3,5,7] y1 = [3,2,2,2] y2 = [2,5,2,2] y3 = [7,2,2,1] df = pd.DataFrame({'x': x, 'y1': y1, 'y2': y2, 'y3': y3}) writer = pd.ExcelWriter('output.xlsx') df.to_excel(writer,'Sheet1') writer.save() 我希望excel输出文件在x列与其他列的互值中显示相同的颜色:

我的数据帧“df”如下所示:

x = [1,3,5,7] 
y1 = [3,2,2,2] 
y2 = [2,5,2,2] 
y3 = [7,2,2,1]
df = pd.DataFrame({'x': x, 'y1': y1, 'y2': y2, 'y3': y3})

writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer,'Sheet1')
writer.save()
我希望excel输出文件在x列与其他列的互值中显示相同的颜色:

如果颜色由
字典指定,则可以使用:

def color(a):
    d = {1:'yellow', 3:'green', 5:'blue', 7:'red'}

    d1 = {k: 'background-color:' + v for k, v in d.items()}
    df1 = pd.DataFrame(index=a.index, columns=a.columns)
    df1 = a.applymap(d1.get).fillna('')
    return df1

df.style.apply(color, axis=None).to_excel('styled.xlsx', engine='openpyxl', index=False)
如果颜色由
字典指定,则可以使用:

def color(a):
    d = {1:'yellow', 3:'green', 5:'blue', 7:'red'}

    d1 = {k: 'background-color:' + v for k, v in d.items()}
    df1 = pd.DataFrame(index=a.index, columns=a.columns)
    df1 = a.applymap(d1.get).fillna('')
    return df1

df.style.apply(color, axis=None).to_excel('styled.xlsx', engine='openpyxl', index=False)

谢谢,但它给出了这个错误:“AttributeError:'Styler'对象没有属性'to_excel'”@P.J您的pandas版本是什么?谢谢,但它给出了这个错误:“AttributeError:'Styler'对象没有属性'to_excel'”@P.J您的pandas版本是什么?