1. 为什么需要Python操作Excel进行数据可视化?
在数据分析的日常工作中,Excel无疑是最常用的工具之一。但当我们面对以下场景时,纯手工操作就显得力不从心了:
- 需要处理几十个甚至上百个数据表格
- 要求对大量图表进行统一风格设置
- 需要定期生成格式固定的报表
- 要实现复杂的交互式可视化效果
这正是Python+Excel组合大显身手的时候。我最近在一个市场分析项目中,就用openpyxl库自动化生成了包含12家公司、每家公司5个关键指标的对比报表,包含格式化表格和趋势图表,整个过程从原来的3小时手工操作缩短到5分钟自动运行。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础操作
2.1 安装必要的库
bash复制pip install openpyxl pandas
注意:openpyxl 3.0+版本对图表API有重大更新,建议使用最新版。如果遇到兼容性问题,可以指定安装版本:
bash复制pip install openpyxl==3.0.10
2.2 基础工作簿操作
python复制from openpyxl import Workbook
from openpyxl.styles import Font, Alignment
# 创建新工作簿
wb = Workbook()
ws = wb.active
ws.title = "销售数据"
# 基础单元格操作
ws['A1'] = "2023年季度销售报表"
ws['A1'].font = Font(bold=True, size=14)
ws['A1'].alignment = Alignment(horizontal='center')
# 合并单元格
ws.merge_cells('A1:D1')
# 保存文件
wb.save("sales_report.xlsx")
3. 高级表格格式化技巧
3.1 使用Pandas DataFrame导出数据
python复制import pandas as pd
from openpyxl.utils.dataframe import dataframe_to_rows
data = {
"季度": ["Q1", "Q2", "Q3", "Q4"],
"销售额(万)": [120, 150, 180, 210],
"增长率(%)": [None, 25, 20, 16.7]
}
df = pd.DataFrame(data)
for r in dataframe_to_rows(df, index=False, header=True):
ws.append(r)
3.2 应用专业表格样式
python复制from openpyxl.worksheet.table import Table, TableStyleInfo
tab = Table(displayName="SalesTable", ref="A3:C7")
style = TableStyleInfo(
name="TableStyleMedium13",
showFirstColumn=False,
showLastColumn=False,
showRowStripes=True,
showColumnStripes=False
)
tab.tableStyleInfo = style
ws.add_table(tab)
实操心得:Tabl
