|
科技企业的小会计每年编制研发费用台账一直以来就是很头疼的事。例如:要考虑研发人员的工资、研发使用的设备仪器所发生的折旧费如何在不同的研发项目中合理的分配。目前大多数企业都是使用EXcel来完成的。取得了一定的效果。但是不够高效。在这里给大家奉献一个使用python编制研发费用台账的小程序。让你一键生成研发费用台账。从此以后脑袋瓜子不疼了。 本程序正常运行的方法 1、在你的电脑上正确安装了python,并且安装了pandas包。 2、创建一个研发费用核算的基础表。 
3、运行python,复制本代码段运行之。ok!简单吧。

代码块 import numpy as np import pandas as pd df=pd.read_excel(r'c:\soft\python\研发3.xlsx', sheet_name=0) df.info()
f=pd.read_excel(r'c:\soft\python\研发3.xlsx', sheet_name=1) t1=f['RD1'].tolist() t2=f['RD2'].tolist() t3=f['RD3'].tolist() t4=f['RD4'].tolist() t5=f['RD5'].tolist()
f1=pd.read_excel(r'c:\soft\python\研发3.xlsx', sheet_name=2) r1=f1['RD1'].tolist() r2=f1['RD2'].tolist() r3=f1['RD3'].tolist() r4=f1['RD4'].tolist() r5=f1['RD5'].tolist()
df['RD1标识'] = np.where((df['月份'].isin(r1)) &(df['项目'].isin(t1)),1,0)
df['RD2标识'] = np.where((df['月份'].isin(r2)) &(df['项目'].isin(t2)),1,0)
df['RD3标识'] = np.where((df['月份'].isin(r3)) &(df['项目'].isin(t3)),1,0)
df['RD4标识'] = np.where((df['月份'].isin(r4)) &(df['项目'].isin(t4)),1,0)
df['RD5标识'] = np.where((df['月份'].isin(r5)) &(df['项目'].isin(t5)),1,0)
df.eval(''' 项目合计=RD1标识+RD2标识+RD3标识+RD4标识+RD5标识 分配率=金额/项目合计 RD1=金额*RD1标识/项目合计 RD2=金额*RD2标识/项目合计 RD3=金额*RD3标识/项目合计 RD4=金额*RD4标识/项目合计 RD5=金额*RD5标识/项目合计 合计=RD1+RD2+RD3+RD4+RD5 ''', inplace=True)
df1=df.groupby(['类别'])['金额','RD1','RD2','RD3','RD4','RD5','合计'].sum()
df1['比重'] = df1['金额']/df1['金额'].sum() df1['比重']=df1['比重'].apply(lambda x: format(x, '.2%')) print(df1)
df2=df[(df['类别']=='人工费用')].groupby(['月份'])['金额','RD1','RD2','RD3','RD4','RD5','合计'].sum()
writer = pd.ExcelWriter('c:\soft\python\研发4.xls') df1.to_excel(writer, '研发费用汇总表' ) df2.to_excel(writer, '人工费用月汇总表' ) df.to_excel(writer, '研发费用台账' ) writer.save()
|