用python做一些excel的事情,实现数据自动化
生活随笔
收集整理的這篇文章主要介紹了
用python做一些excel的事情,实现数据自动化
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
用了一段時間的python ,發(fā)覺python這小伙確實是做自動化的一把好手,鑒于python在自動化方面的良好的能力,python在自動化測試,自動化運維,爬蟲等方面都有著良好的表現(xiàn)。
我們在日常工作做需要對一下交易數(shù)據(jù)的統(tǒng)計,利潤的計算,對于這些每天的大量重復工作,何不用python寫一下代碼,讓這些工作變成自動化,提高準學性的同時,也解放了我們的工作時間,使得我們可以把更加多的時間花在解決問題上面。
下面的以python模擬excel的一下,日常操作,提高數(shù)據(jù)處理的效率,達到自動化的效果。
在我們處理數(shù)據(jù)之前,我們首先需要在我們的日常后臺系統(tǒng)上面進行數(shù)據(jù)的下載,我們何不用python 把這一步也做自動化呢,在python里面有一個叫selenium庫在瀏覽器的自動化操作方面有著這良好的表現(xiàn),可以幫助我們把日常的交易數(shù)據(jù),利潤數(shù)據(jù)自動化的下載,做到全自動化,下一篇博客里面我們會進行介紹。
第一步
#首先我們需要需要3個庫,pandas庫,numpy庫,openpyxl庫。 #pandas在數(shù)據(jù)整理方面強大的能力,特別是在大數(shù)據(jù)的整理方面, #小數(shù)據(jù)我們當然可以通過excel來實現(xiàn),numpy在數(shù)據(jù)運算方面表現(xiàn)優(yōu)異, #openpyxl庫是我們在導出到xlsx的文件時所需要用到的不然to_excel的時候可能會報錯。 import pandas as pd import numpy as np import openpyxl第二步
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #下載了日常交易利潤數(shù)據(jù)表20180404104607.xls,和代理商之前的利潤匯總表2, #公司會把代理商的分潤累積到一定程度的時候發(fā)放給代理商,這里我們?nèi)∵_到100元進行打開, #我們首先用read_excel來讀取數(shù)據(jù)表格。 df=pd.read_excel('匯總表.xlsx',sheet_name='Sheet1') df_2018=pd.read_excel('20180404104607.xls')第三步
# 篩選利潤匯總表,得到我們需要的2列,代理商名稱和總額。 df_new=df[['代理商名稱','總額']]第四步
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 篩選交易數(shù)據(jù)表,我們拿到扣完0.7稅的本級利潤,并取小數(shù)點后面的兩位數(shù)。 df_2018_代理商名稱=df_2018['代理商名稱'] df_2018_本級利潤=round(df_2018['本級利潤(元)']*0.93,2) df111=pd.concat([df_2018_代理商名稱,df_2018_本級利潤],axis=1) # print(df111)第五步
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 合并交易數(shù)據(jù),這里面的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]#區(qū)間取值 jj=jieguo.loc[(jieguo['利潤']>70)&(jieguo['利潤']<100)] #重行命名列 jieguo.columns=['代理商名稱','利潤'] jieguo.rename (columns = {'利潤': '付款金額'},inplace=True) print(jieguo) #把最后的結(jié)果導出到我們所要的表格的當中。 jieguo.to_excel('result.xlsx')如果有更好的建議方法不足,請告之我,讓我們一起進步吧。謝謝
總結(jié)
以上是生活随笔為你收集整理的用python做一些excel的事情,实现数据自动化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python使用lxml模块和Reque
- 下一篇: Python:if判断与while、fo