python做excel自动化步骤-用python做一些excel的事情,实现数据自动化

用了一段时间的python ,发觉python这小伙确实是做自动化的一把好手,鉴于python在自动化方面的良好的能力,python在自动化测试,自动化运维,爬虫等方面都有着良好的表现。

我们在日常工作做需要对一下交易数据的统计,利润的计算,对于这些每天的大量重复工作,何不用python写一下代码,让这些工作变成自动化,提高准学性的同时,也解放了我们的工作时间,使得我们可以把更加多的时间花在解决问题上面。

下面的以python模拟excel的一下,日常操作,提高数据处理的效率,达到自动化的效果。

在我们处理数据之前,我们首先需要在我们的日常后台系统上面进行数据的下载,我们何不用python 把这一步也做自动化呢,在python里面有一个叫selenium库在浏览器的自动化操作方面有着这良好的表现,可以帮助我们把日常的交易数据,利润数据自动化的下载,做到全自动化,下一篇博客里面我们会进行介绍。

第一步

#首先我们需要需要3个库,pandas库,numpy库,openpyxl库。pandas在数据整理方面强大的能力,特别是在大数据的整理方面,小数据我们当然可以通过excel来实现,numpy在数据运算方面表现优异,openpyxl库是我们在导出到xlsx的文件时所需要用到的不然to_excel的时候可能会报错。

import pandas as pd

import numpy as np

import openpyxl

第二步

#下载了日常交易利润数据表20180404104607.xls,和代理商之前的利润汇总表2,公司会把代理商的分润累积到一定程度的时候发放给代理商,这里我们取达到100元进行打开,我们首先用read_excel来读取数据表格。

df=pd.read_excel('汇总表.xlsx',sheet_name='Sheet1')

df_2018=pd.read_excel('20180404104607.xls')

第三步

# 筛选利润汇总表,得到我们需要的2列,代理商名称和总额。

df_new=df[['代理商名称','总额']]

第四步

# 筛选交易数据表,我们拿到扣完0.7税的本级利润,并取小数点后面的两位数。

df_2018_代理商名称=df_2018['代理商名称']

df_2018_本级利润=round(df_2018['本级利润(元)']*0.93,2)

df111=pd.concat([df_2018_代理商名称,df_2018_本级利润],axis=1)

# print(df111)

第五步

# 合并交易数据,这里面的merge的功能有和excel里面的vlookup,sql里面的join功能是一样的吗,同时把我今日的交易利润和历史利润相加。并重名名

df_result=df111.merge(df_new,on='代理商名称')

# print(df_result)

dd=df_result['本级利润(元)']+df_result['总额']

dd.columns=['总额']

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#我们还可以是用apply的方式进行求和,但是首先需要drop去掉字符串,不然sum的时候就会报错

df_result=df_result.drop(['代理商名称'],axis=1)

del df_result['代理商名称']

df_result['求和']=df_result.apply(lambda x: x.sum(),axis=1)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~第六步

#筛选交易金额大于100的列df_result_2=df_result['代理商名称']

jieguo=pd.concat([df_result_2,dd],axis=1) jieguo=jieguo[jieguo['总额']>100]#区间取值

jj=jieguo.loc[(jieguo['利润']>70)&(jieguo['利润']<100)]

#重行命名列

jieguo.columns=['代理商名称','利润']

jieguo.rename (columns = {'利润': '付款金额'},inplace=True)

print(jieguo)

#把最后的结果导出到我们所要的表格的当中。

jieguo.to_excel('result.xlsx')

如果有更好的建议方法不足,请告之我,让我们一起进步吧。谢谢

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值