gpt4 book ai didi

python - 从 Pandas 到excel的颜色格式

转载 作者:行者123 更新时间:2023-12-04 22:15:20 25 4
gpt4 key购买 nike

我有一个 Pandas 数据框,其中包含根据先前过滤的值和条件。我想在excel中打印我的数据框并根据过滤结果为单元格着色(如果通过:绿色,如果未通过:红色)。这是一个示例代码以及我希望它的结果。

filename='example'
writer = pd.ExcelWriter(f"{filename}.xlsx", engine="xlsxwriter")
workbook = writer.book
df = pd.DataFrame(
[
[0,{'value': 3, 'filter': 'passed'}],
[1,{'value': 4, 'filter': 'not_passed'}],
[2,{'value': 2, 'filter': 'passed'}],
],
columns=['col 1', 'col 2']
)
df['col 2'] = df['col 2'].apply(lambda x: x['value'])
df.to_excel(writer, sheet_name="Sheet1")
green = workbook.add_format({"bg_color": "#C6EFCE", "font_color": "#006100"})
red = workbook.add_format({"bg_color": "#FFC7CE", "font_color": "#9C0006"})
worksheet = writer.sheets["Sheet1"]
writer.save()
Example output

最佳答案

使用 for 循环检查 filter value == 'passed'如果是,您可以将绿色格式应用于此单元格,反之亦然,使用 worksheet.write(row_index,column_index,value,format) 将红色应用于红色。
请注意,Pandas 数据框使用与 Excel 不同的索引方法。值得注意的是,Pandas 从 index=0 开始,Excel 从 index=1 开始。

filename='example'
writer = pd.ExcelWriter(f"{filename}.xlsx", engine="xlsxwriter")
workbook = writer.book
df = pd.DataFrame(
[
[0,{'value': 3, 'filter': 'passed'}],
[1,{'value': 4, 'filter': 'not_passed'}],
[2,{'value': 2, 'filter': 'passed'}],
],
columns=['col 1', 'col 2']
)
# df['col 2'] = df['col 2'].apply(lambda x: x['value'])
df.to_excel(writer, sheet_name="Sheet1")

green = workbook.add_format({"bg_color": "#C6EFCE", "font_color": "#006100"})
red = workbook.add_format({"bg_color": "#FFC7CE", "font_color": "#9C0006"})

worksheet = writer.sheets["Sheet1"]

col_ind = 2

for row_ind in range(len(df)):
value = df.iloc[row_ind, 1]

if value['filter'] == 'passed':
worksheet.write(row_ind+1,col_ind, value['value'], green)
else:
worksheet.write(row_ind+1,2col_ind, value['value'], red)

writer.save()

关于python - 从 Pandas 到excel的颜色格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70156578/

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