Python 语言 用 Openpyxl 自动生成带数据透视表的财务周报 收入 / 成本 / 利润分部门统计

Python阿木 发布于 2025-06-09 18 次阅读


阿木博主一句话概括:使用Openpyxl生成带数据透视表的Python财务周报

阿木博主为你简单介绍:
本文将介绍如何使用Python编程语言和Openpyxl库来创建一个包含数据透视表的财务周报。我们将通过一个实际的案例,展示如何从原始数据中提取信息,生成数据透视表,并最终生成一份格式化的财务周报。

关键词:Python,Openpyxl,数据透视表,财务周报,收入,成本,利润

一、
财务周报是企业内部管理的重要工具,它能够帮助管理层快速了解企业的财务状况。在Python中,我们可以利用Openpyxl库来创建和操作Excel文件,从而实现自动化生成财务周报。本文将详细介绍如何使用Python和Openpyxl来完成这一任务。

二、准备工作
在开始编写代码之前,我们需要确保以下准备工作已经完成:

1. 安装Python环境。
2. 安装Openpyxl库:`pip install openpyxl`。
3. 准备财务数据,通常以CSV或Excel格式存储。

三、代码实现
以下是一个使用Python和Openpyxl生成带数据透视表的财务周报的示例代码:

python
import openpyxl
from openpyxl import Workbook
from openpyxl.worksheet.table import Table, TableStyleInfo
import csv

创建一个新的Excel工作簿
wb = Workbook()
ws = wb.active

设置工作表标题
ws.title = "财务周报"

读取财务数据
with open('financial_data.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
ws.append([row['部门'], row['收入'], row['成本'], row['利润']])

创建数据透视表
pivot_table = ws.data_pivot_tables.add(ws['A1'], ws['D1'])
pivot_table.field_names = ['部门', '收入', '成本', '利润']
pivot_table.field_settings = {
'部门': {'auto_sum': True},
'收入': {'auto_sum': True},
'成本': {'auto_sum': True},
'利润': {'auto_sum': True}
}

设置数据透视表样式
pivot_table.style = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False,
showLastColumn=False, showRowStripes=True,
showColumnStripes=True)

保存工作簿
wb.save("financial_weekly_report.xlsx")

四、代码解析
1. 我们创建了一个新的Excel工作簿和一个工作表。
2. 然后,我们读取了存储在CSV文件中的财务数据,并将其添加到工作表中。
3. 接下来,我们使用`data_pivot_tables.add()`方法在工作表中创建了一个数据透视表,并设置了字段名称和自动求和选项。
4. 我们还设置了数据透视表的样式,包括表格名称、是否显示首列/尾列、是否显示条纹等。
5. 我们将工作簿保存为Excel文件。

五、总结
通过以上步骤,我们成功地使用Python和Openpyxl生成了一份包含数据透视表的财务周报。这种方法可以大大提高财务报表的生成效率,减少人工操作,提高数据的准确性。

六、扩展应用
在实际应用中,我们可以根据需要扩展此代码,例如:

1. 根据不同的需求调整数据透视表的字段和计算方式。
2. 添加图表和图形,使财务周报更加直观。
3. 实现自动化数据更新,定期生成财务周报。

通过不断优化和扩展,我们可以使财务周报成为一个强大的管理工具,为企业决策提供有力支持。