社区首页 >问答首页 >如何将熊猫保存为不同颜色的excel

如何将熊猫保存为不同颜色的excel
EN

Stack Overflow用户
提问于 2019-01-09 11:53:54
回答 2查看 8.7K关注 0票数 7

我有一个数据帧

代码语言:javascript
代码运行次数:0
复制
df = pd.DataFrame(columns = ['id', 'name', 'age'])
df.loc[len(df), :] = [1, 'John', 21]
df.loc[len(df), :] = [2, 'Mary', 19]
df.loc[len(df), :] = [3, 'Ann', 27]
df.loc[len(df), :] = [4, 'Ben', 18]

我想用xlsxwriter把它保存到excel文件。

但是,我希望大于20的age为红色。

换句话说,2127在excel文件中应该显示为红色。

该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-09 12:26:19

可以将条件格式与xlsxwriter一起使用,如下所示:

代码语言:javascript
代码运行次数:0
复制
import pandas as pd

# Create a Pandas dataframe from some data.
df = pd.DataFrame(columns = ['id', 'name', 'age'])
df.loc[len(df), :] = [1, 'John', 21]
df.loc[len(df), :] = [2, 'Mary', 19]
df.loc[len(df), :] = [3, 'Ann', 27]
df.loc[len(df), :] = [4, 'Ben', 18]

# 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']


# Add a format. Light red fill with dark red text.
format1 = workbook.add_format({'bg_color': '#FFC7CE',
                               'font_color': '#9C0006'})

# Set the conditional format range.
start_row = 1
start_col = 3
end_row = len(df)
end_cold = start_col

# Apply a conditional format to the cell range.
worksheet.conditional_format(start_row, start_col, end_row, end_cold,
                             {'type':     'cell',
                              'criteria': '>',
                              'value':    20,
                              'format':   format1})

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

输出:

票数 9
EN

Stack Overflow用户

发布于 2021-01-04 22:34:24

这对我来说不适用于字符串。

代码语言:javascript
代码运行次数:0
复制
writer = pd.ExcelWriter('ProjectSummaryStatusScriptOutput.xlsx', engine='xlsxwriter')
df_to_csv.to_excel(writer, sheet_name='Sheet1')

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


# Add a format. Light red fill with dark red text.
format1 = workbook.add_format({'bg_color': '#ffff00'})
format2 = workbook.add_format({'bg_color': '##ff0000'})
format3 = workbook.add_format({'bg_color': '#13bd00'})

# Set the conditional format range.
start_row = 2
start_col = 2
end_row = len(df)
end_cold = len(df.columns)

# Apply a conditional format to the cell range.
worksheet.conditional_format('E2:K56',
                             {'type':     'cell',
                              'criteria': '=',
                              'value':    'Red',
                              'format':   format1})


worksheet.conditional_format('E2:K56',
                             {'type':     'cell',
                              'criteria': '=',
                              'value':    'Yellow',
                              'format':   format2})

worksheet.conditional_format('E2:K56',
                             {'type':     'cell',
                              'criteria': '=',
                              'value':    'Green',
                              'format':   format3})


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

我的输出没有任何格式

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54109548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档