Pandas 将数据框导出到excel时为单元格着色
我的数据帧“df”如下所示: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列与其他列的互值中显示相同的颜色:
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版本是什么?