将 pandas DataFrame 插入现有 excel 带有样式的工作表
Insert pandas DataFrame into existing excel worksheet with styling
我已经看到关于如何使用 openpyxl 将 pandas DataFrame 添加到现有工作表中的答案,如下所示:
from openpyxl import load_workbook, Workbook
import pandas as pd
df = pd.DataFrame(data=["20-01-2018",4,9,16,25,36],columns=["Date","A","B","C","D","E"])
path = 'filepath.xlsx'
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = load_workbook(path)
writer.sheets = dict((ws.title,ws) for ws in writer.book.worksheets)
df.to_excel(writer,sheet_name="Sheet1", startrow=2,index=False, header=False)
writer.save()
但是,我需要为背景数据设置高亮颜色。有没有办法在不将数据框更改为列表的情况下执行此操作 - 也尝试维护日期格式。
谢谢
您可以创建一个函数来在您想要的单元格中突出显示
def highlight_style():
# provide your criteria for highlighting the cells here
return ['background-color: red']
然后将突出显示功能应用到数据框...
df.style.apply(highlight_style)
在此之后,当您将它写入 excel 时,它应该可以正常工作 =)
感谢 Andre 的帮助,我整理了它。您可以这样导出结果:
df.style.set_properties(**{'background-color':'red'}).to_excel(writer,sheet_name="Sheet1", startrow=2,index=False, header=False)
writer.save()
谢谢!
我已经看到关于如何使用 openpyxl 将 pandas DataFrame 添加到现有工作表中的答案,如下所示:
from openpyxl import load_workbook, Workbook
import pandas as pd
df = pd.DataFrame(data=["20-01-2018",4,9,16,25,36],columns=["Date","A","B","C","D","E"])
path = 'filepath.xlsx'
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = load_workbook(path)
writer.sheets = dict((ws.title,ws) for ws in writer.book.worksheets)
df.to_excel(writer,sheet_name="Sheet1", startrow=2,index=False, header=False)
writer.save()
但是,我需要为背景数据设置高亮颜色。有没有办法在不将数据框更改为列表的情况下执行此操作 - 也尝试维护日期格式。
谢谢
您可以创建一个函数来在您想要的单元格中突出显示
def highlight_style():
# provide your criteria for highlighting the cells here
return ['background-color: red']
然后将突出显示功能应用到数据框...
df.style.apply(highlight_style)
在此之后,当您将它写入 excel 时,它应该可以正常工作 =)
感谢 Andre 的帮助,我整理了它。您可以这样导出结果:
df.style.set_properties(**{'background-color':'red'}).to_excel(writer,sheet_name="Sheet1", startrow=2,index=False, header=False)
writer.save()
谢谢!