分享

有了他,编制研发费用台账不是事!

 北方的白桦林 2019-09-22

科技企业的小会计每年编制研发费用台账一直以来就是很头疼的事。例如:要考虑研发人员的工资、研发使用的设备仪器所发生的折旧费如何在不同的研发项目中合理的分配。目前大多数企业都是使用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()      

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多