使用熊猫将彩色字体打印到Excel中

时间:2019-01-07 03:43:51

标签: python pandas

我正在尝试将绿色粗体字体打印到excel电子表格中。

我可以毫无问题地在jupyter笔记本中打印此文件,但这是我在电子表格中得到的:[1m [92mHello

import pandas as pd
import numpy as np

writer = pd.ExcelWriter('out.xlsx')
pd.DataFrame([1,'\033[1m' + '\033[92m'+ 'Hello',3]).to_excel(writer, sheet_name= 'sheet1')
writer.save()

2 个答案:

答案 0 :(得分:1)

pandas无法实现。
您可以使用openpyxl进行操作。
因此,您要做的就是使用pandas将数据导出到excel,然后使用openpyxl加载工作簿并从那里处理着色和其他可视化方面。

from openpyxl.styles import colors
from openpyxl.styles import Font, Color
from openpyxl import Workbook
wb = load_workbook('yourworkbookname.xlsx')
ws = wb.active
a1 = ws['A1']
d4 = ws['D4']
ft = Font(color=colors.GREEN, bold=True)
a1.font = ft
d4.font = ft
wb.save()

有关openpyxl的更多文档,请访问here

答案 1 :(得分:1)

您可以使用ExcelWriter类和方法在工作簿/工作表中执行许多操作。要执行您打算做的事情,请执行以下操作。

import pandas as pd
import numpy as np

writer = pd.ExcelWriter('out.xlsx', engine='xlsxwriter')
pd.DataFrame([1,'Hello',3]).to_excel(writer, sheet_name= 'sheet1')
worksheet = writer.sheets['sheet1']
workbook = writer.book
cell_format = workbook.add_format({'bold':True, 'font_color': 'green'})
worksheet.set_row(2,None,cell_format)
writer.save()

ExcelWriter

的文档

此外,如果要更改标题的格式,则必须首先重置标题样式。在定义writer

之前放置以下内容
pd.io.formats.excel.header_style = None