gpt4 book ai didi

python - 向单独写入 Excel 工作表的列添加样式

转载 作者:行者123 更新时间:2023-12-01 08:15:28 24 4
gpt4 key购买 nike

我正在尝试设置样式,然后将各个列写入现有的 Excel 工作表。但是我不断收到错误。

def color_green(val):
color = 'green' if val != 'CHECK' else 'black'
return 'color: %s' % color

#apply color
df['Name'] = df['Name'].style.applymap(color_green)

#write col to excel
df['Name'].to_excel(writer, sheet_name = 'sheet1', startrow = 12, startcol = 2, index=False, header=False )

我收到的错误:

'Series' object has no attribute 'style'

我有几个不同的列,需要以相同的方式设置样式和编写。

最佳答案

我认为您可以尝试使用双大括号[[]]在数据帧下调用它或使用applymap()下的subset参数如下所示:

df[['Name']].style.applymap(color_green).to_excel(path,index=False)

另一种方法是:

df.style.applymap(color_green, subset=pd.IndexSlice[:, ['Name']])

这会产生以特定列列表样式显示的完整数据框。

为了更好地理解,下面是一个示例:

演示:

让我们考虑以下 df:

   Name  some_col
0 abc 1
1 CHECK 1
2 defg 2
3 CHECK 3
4 efg 3
5 ijk 3
6 lmn 1
7 opq 7

def color_green(val):
color = 'green' if val != 'CHECK' else 'black'
return 'color: %s' % color
df[['Name']].style.applymap(color_green)

此输出

enter image description here

第二种方法:

df.style.applymap(color_green, subset=pd.IndexSlice[:, ['Name']])

输出:

enter image description here

然后您可以将其导出到 Excel 中。

希望这有帮助。

关于python - 向单独写入 Excel 工作表的列添加样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55009561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com