Python 使用Pandas/ExcelWriter为单元格中的文本部分着色

Python 使用Pandas/ExcelWriter为单元格中的文本部分着色,python,excel,pandas,pandas.excelwriter,Python,Excel,Pandas,Pandas.excelwriter,如何使用pandas dataframe和ExcelWriter为写入excel文件的部分文本着色 我已经设置了使用背景色和文本颜色以及其他不同的内容格式化单元格,但是您能否仅将格式应用于值为字符串“1,-3,5”的单元格中以逗号分隔的第一个值 到目前为止,我有以下方法格式化单个单元格,但在文档中找不到如何将文本颜色应用于单元格中的部分文本,这可以通过Microsoft Excel GUI实现 import pandas as pd excel_writer = pd.ExcelWriter("

如何使用pandas dataframe和ExcelWriter为写入excel文件的部分文本着色

我已经设置了使用背景色和文本颜色以及其他不同的内容格式化单元格,但是您能否仅将格式应用于值为字符串“1,-3,5”的单元格中以逗号分隔的第一个值

到目前为止,我有以下方法格式化单个单元格,但在文档中找不到如何将文本颜色应用于单元格中的部分文本,这可以通过Microsoft Excel GUI实现

import pandas as pd
excel_writer = pd.ExcelWriter("bob_saget.xlsx", engine='xlsxwriter')
sheet_name = "Full House"
data_frame = ...
headers = ...

data_frame.to_excel(excel_writer, sheet_name=sheet_name, index=False)
workbook = excel_writer.book
worksheet = excel_writer.sheets[sheet_name]
color_format = workbook.add_format({'bg_color': 'orange', 'border': True})
gray_cell_bg = workbook.add_format({'bg_color': '#d8d8d8'})

# using worksheet.write, re-writing the value in the cell and adding formatting
worksheet.write('B1', headers[1], color_format)

# hack solution to apply a background
worksheet.conditional_format("C4", {'type': 'text',
                                          'criteria': 'not containing',
                                          'value': '$$$$$$$',
                                          'format': gray_cell_bg})

excel_writer.save()

您可以使用XlsxWriter格式化字符串的一部分


您可能需要覆盖Pandas编写的某些单元格才能实现这一点。此外,它不能通过条件格式完成。

我认为您不能只突出显示文本的一部分,这与MS Excel不同