下面是使用Python绘制表格不同颜色的Excel的完整实例教程。
前置条件
在开始之前,需要有以下内容:
- Python 3.x 环境
- pandas 库
- openpyxl 库
如果没有安装任何一个库,可以使用 pip 安装,例如运行以下命令:
pip install pandas openpyxl
示例1
假设有以下数据:
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'Dave'],
'Age': [25, 48, 31, 19],
'City': ['Beijing', 'Shanghai', 'Shenzhen', 'Guangzhou']
}
df = pd.DataFrame(data)
我们可以使用以下代码将这些数据写入到 Excel 表格中,并且将年龄小于 30 岁的行背景色设置为红色,其他行为白色:
import pandas as pd
from openpyxl.styles import PatternFill
from openpyxl.utils.dataframe import dataframe_to_rows
# 创建 Excel 文档对象
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
# 写入数据
df.to_excel(writer, index=False)
# 打开当前工作表
workbook = writer.book
worksheet = writer.sheets['Sheet1']
# 创建红色的填充样式
red_fill = PatternFill(fill_type='solid', start_color='FF0000', end_color='FF0000')
# 遍历每一行数据
for row, values in enumerate(dataframe_to_rows(df, index=False)):
# 如果年龄小于 30 岁,则设置背景色为红色
if values[1] < 30:
for cell in worksheet[row+2]:
cell.fill = red_fill
# 保存 Excel 文档
writer.save()
示例2
如果要设置不同列的背景色,可以使用以下代码:
import pandas as pd
from openpyxl.styles import PatternFill
from openpyxl.utils.dataframe import dataframe_to_rows
# 创建 Excel 文档对象
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
# 写入数据
df.to_excel(writer, index=False)
# 打开当前工作表
workbook = writer.book
worksheet = writer.sheets['Sheet1']
# 创建红色和蓝色的填充样式
red_fill = PatternFill(fill_type='solid', start_color='FF0000', end_color='FF0000')
blue_fill = PatternFill(fill_type='solid', start_color='0000FF', end_color='0000FF')
# 遍历每一行数据
for row, values in enumerate(dataframe_to_rows(df, index=False)):
# 如果年龄小于 30 岁,则设置第二列背景色为红色,第三列背景色为蓝色
if values[1] < 30:
worksheet.cell(row=row+2, column=2).fill = red_fill
worksheet.cell(row=row+2, column=3).fill = blue_fill
# 保存 Excel 文档
writer.save()
在这个示例中,我们创建了红色和蓝色的填充样式,然后使用条件判断语句,将第二列年龄小于 30 岁的行的背景色设置为红色,将第三列背景色设置为蓝色。
以上就是使用 Python 绘制表格不同颜色的 Excel 的完整实例教程了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用python如何绘制表格不同颜色的excel - Python技术站