提供一个示例,说明如何使用特定格式格式化行,然后使用其他格式格式化其余单元格。在
请注意,您必须调用已保存的工作簿,以使用我曾经使用过的样式。也就是说,在这个例子中,我创建了一个工作簿,保存它,然后加载它并格式化单元格,然后再次保存。在
这是一个使用pandas_datareader模块中的数据完全可复制的示例。在import pandas as pd
from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.styles import Font
from openpyxl.utils.dataframe import dataframe_to_rows
import pandas_datareader.data as web #optional for example only
#pull in your own dataframe and remove the next two lines if you want to
df = web.DataReader("AMZN", 'google')
df = df.tail(180)
wb = Workbook()
ws = wb.active
for r in dataframe_to_rows(df, index=False, header=True):
ws.append(r)
wb.save("test.xlsx")
wb = load_workbook('test.xlsx')
ws = wb['Sheet']
style_1 = Font(color='0000FF00', bold=True, underline="single", size=15)
style_2 = Font(color='000000FF', italic=True, size=10)
for cell in ws["1:1"]:
cell.font = style_1
for row in ws.iter_rows(min_row=2, max_col=5, max_row=len(df)+2):
for cell in row:
cell.font = style_2
#commented out my original snippet - preferred method recommended by Charlie Clark is ws.iter_rows() - above
'''
for i in range(2, len(df)+2):
current = "%d:%d" % (i, i)
for cell in ws[current]:
cell.font = style_2
'''
wb.save("test.xlsx")
**更新(根据OP询问附加到现有工作表的单元格格式的评论):
如果以后要在此工作表中添加更多内容,则可以同时为新单元格设置格式。将下面的片段添加到原始答案中。在
^{pr2}$