
以下30个Python脚本为财务Excel处理设计,结合数据清洗、指标计算、可视化及财务分析,覆盖日常的财务场景。脚本基于pandas、numpy、matplotlib等库实现,可直接嵌入自动化流程,极大的减少人工处理时间,提升效率。
1、读取Excel文件
快速加载财务数据,支持xlsx/xls格式。
import pandas as pd
df = pd.read_excel('financial_data.xlsx')2、写入Excel文件
将处理结果保存为新文件。
df.to_excel('processed_data.xlsx', index=False)3、筛选特定列
提取关键字段(如日期、收入)。
selected = df[['Date', 'Revenue']]4、条件筛选行
按阈值过滤数据(如收入>1000)。
filtered = df[df['Revenue'] > 1000]5、删除空值
清理缺失数据确保计算准确性。
df_clean = df.dropna()6、填充空值
用0或均值填充缺失值。
df_filled = df.fillna(0) # 或 df.fillna(df.mean())7、重命名列
标准化列名便于分析。
df.rename(columns={'OldName': 'NewName'}, inplace=True)8、计算总和/平均值
快速汇总收入、成本等关键指标。
total_revenue = df['Revenue'].sum()
avg_cost = df['Cost'].mean()9、计算百分比变化
分析收入环比波动。
df['Pct_Change'] = df['Revenue'].pct_change() * 10010、计算累计和
跟踪季度累计收益。
df['Cumulative_Revenue'] = df['Revenue'].cumsum()11、同比增长率(YoY)
对比年度业绩趋势。
df['YoY_Growth'] = df['Revenue'].pct_change(periods=12) * 100 # 假设月度数据12、财务比率计算
自动计算资产负债率、净利率等。
df['Debt_Ratio'] = df['Total_Liabilities'] / df['Total_Assets']
df['Net_Margin'] = df['Net_Income'] / df['Revenue']13、数据透视表
按类别汇总收入(如产品线、地区)。
pivot = pd.pivot_table(df, values='Revenue', index='Category', aggfunc='sum')14、合并多个Excel
整合多部门/多年度数据。
import glob
files = glob.glob('*.xlsx')
combined = pd.concat([pd.read_excel(f) for f in files])15、拆分Excel文件
按类别分拆数据(如各分公司独立报表)。
for category, group in df.groupby('Category'):
group.to_excel(f'{category}_report.xlsx', index=False)16、日期格式化与排序
统一日期格式并按时间排序。
df['Date'] = pd.to_datetime(df['Date'])
df_sorted = df.sort_values(by='Date')17、分组聚合计算
分类统计收入均值、成本总和等。
grouped = df.groupby('Category').agg({'Revenue': 'mean', 'Cost': 'sum'})18、删除重复值
清理重复录入的数据。
df_unique = df.drop_duplicates()19、折线图(趋势分析)
展示收入随时间变化趋势。
plt.plot(df['Date'], df['Revenue'])
plt.title('月度收入趋势')20、柱状图(对比分析)
比较不同类别收入差异。
plt.bar(df['Category'], df['Revenue'])21、饼图(占比分析)
可视化收入构成比例。
plt.pie(df['Revenue'], labels=df['Category'], autopct='%1.1f%%'22、箱线图(异常值检测)
识别收入异常波动。
sns.boxplot(x='Category', y='Revenue', data=df)23、热力图(相关性分析)
揭示指标间关联(如收入与成本关系)。
sns.heatmap(df.corr(), annot=True)24、输出文本报告
生成分析摘要(支持导出为txt)。
with open('report.txt', 'w') as f:
f.write(f"总收入: {total_revenue}\n净利润率: {net_margin:.2%}")25、净现值(NPV)
评估投资项目价值。
cashflows = [-1000, 300, 300, 300] # 初始投资+现金流
npv = np.npv(0.05, cashflows) # 贴现率5%26、内部收益率(IRR)
计算项目实际收益率。
irr = np.irr(cashflows) * 100 # 转换为百分比27、杜邦分析
分解ROE驱动因素。
df['ROE'] = (df['Net_Income'] / df['Revenue']) * (df['Revenue'] / df['Assets']) * (df['Assets'] / df['Equity'])28、自由现金流计算
评估企业真实现金流。
df['Free_Cash_Flow'] = df['Operating_Cash_Flow'] - df['Capital_Expenditure']29、数据标准化
消除量纲影响(适用于多指标对比)。
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df['Revenue_Std'] = scaler.fit_transform(df[['Revenue']])30、批量自动化处理
一键运行全流程分析(结合函数封装)。
def analyze_financials(file_path):
df = pd.read_excel(file_path)
# 添加清洗、计算、可视化步骤
return analysis_report> >注意点:
> 1. 使用openpyxl引擎处理大型Excel文件(pd.read_excel(…, engine=’openpyxl’));
> 2. 财务比率计算需校验分母非零(避免DivisionByZero错误);
> 3. 重要脚本封装为函数,结合schedule库定时运行。
掌握python的这些自动化脚本,可组合进行财务数据分析,极大的减少人工处理时间,提升效率。进阶应用可考虑API实现实时数据接入,或增加机器学习模块预测财务趋势等等。
“无他,惟手熟尔”!有需要的用起来。
如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!😊
本文分享自 Nicholas与Pypi 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!