如何使用 pandas 数据框和 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 格式化字符串的一部分write_rich_string() https://xlsxwriter.readthedocs.io/worksheet.html#worksheet-write-rich-string.
您可能需要覆盖 Pandas 编写的一些单元格才能实现此目的。此外,它不能通过条件格式来完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)