国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

python在日常工作處理中的應(yīng)用

2018-02-02 17:35馬珊珊
電腦知識與技術(shù) 2018年1期

馬珊珊

摘要:論文介紹了利用python進(jìn)行日常excel表格批量處理的方法,并以員工福利采購統(tǒng)計數(shù)據(jù)為例,編程實現(xiàn)了excel文件的批量讀取、切片、計算、合并等功能。結(jié)果表明,采用python進(jìn)行批量處理文件,簡單高效,大大提高了辦公的效率。

關(guān)鍵詞:excel數(shù)據(jù)處理;python;pandas

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)01-0228-02

隨著辦公無紙化、信息網(wǎng)絡(luò)化的興起,工作中絕大多數(shù)工作都由計算機(jī)來處理。對于在辦公室工作的同志來講,日常工作多是搜集、整理、計算數(shù)據(jù)。這些日常收集的數(shù)據(jù)以Excel表格為主,往往格式統(tǒng)一、處理任務(wù)單一,如果依靠手工來完成,任務(wù)量較大,且容易出錯。Excel自帶了一些批處理功能,但是功能有限,不能滿足工作中各種各樣的文件批處理要求。本文以常見的excel數(shù)據(jù)為例,采用python程序設(shè)計語言,介紹了采用python語言進(jìn)行數(shù)據(jù)批量處理的方法。python語言語法簡單,簡單的幾行代碼就可以完成復(fù)雜的任務(wù),適合辦公室工作人員使用。

1 問題描述

以某單位年終福利采購為例。某單位擬年終采購一批物品作為職工福利,需要采集的物品有6種,每種的價格如表1所示,員工需要填寫的統(tǒng)計表格如表2所示,其中員工的名字體現(xiàn)在統(tǒng)計表格的文件名字中,如圖1所示。

現(xiàn)在辦公室需要搜集整個公司每位員工的統(tǒng)計表,根據(jù)數(shù)量和單價計算出相應(yīng)的金額,并計算出總價填寫在相應(yīng)的位置,并把所有人員的購物數(shù)據(jù)匯總到一個excel表中。

2 解決該問題的基本思路與方法

該問題是辦公室日常工作中的典型問題,搜集到的數(shù)據(jù)是excel表格文件,每位員工對應(yīng)著一個excel文件,編程時需要對每一個文件進(jìn)行遍歷,提取出員工的姓名及填寫的數(shù)據(jù),根據(jù)員工填寫的數(shù)據(jù)及商品的價格,計算出總價,并合并表格。

采用編程解決,可以歸結(jié)為如下幾類問題:

1) 文件遍歷:

python中有關(guān)文件夾與文件的查找,刪除等功能 在os模塊中實現(xiàn)。使用時需先導(dǎo)入OS模塊,OS模塊中的os.listdir(path)可以列出path目錄下的所有文件,存放在一個列表中,對該列表進(jìn)行遍歷,即可以實現(xiàn)文件的遍歷。使用該方法需要首先導(dǎo)入OS模塊。

2) excel文件處理

pandas是python的數(shù)據(jù)分析包,它讀取數(shù)據(jù)簡單高效,有獨特的數(shù)據(jù)類型DataFrame,在數(shù)據(jù)處理中十分常用[1]。本文采用pandas讀寫并處理excel文件。本例中,主要涉及的操作有:文件的讀取、數(shù)據(jù)區(qū)域的篩選、求和計算、數(shù)據(jù)的拼接。

l 文件的讀取:panmdas支持許多格式數(shù)據(jù)的讀取。其中excel數(shù)據(jù)讀取代碼為:

df=pd.read_excel(fullname) 其中fullname代表要讀取文件的全名。讀入數(shù)據(jù)后,存放在df中。df是一個dataframe類型的變量。

l 數(shù)據(jù)區(qū)域的選擇:

讀入的數(shù)據(jù)是一個dataframe類型的變量,本質(zhì)上是一個二維表格。excel數(shù)據(jù)的選擇對應(yīng)著dataframe類型變量的切片操作。dataframe類型變量的切片方法如下:

選取一行數(shù)據(jù):df.ix[i,:] 選擇第i行數(shù)據(jù)

選擇多行數(shù)據(jù):df.ix[a:b,:] 選擇第a行開始到b-1行結(jié)束的數(shù)據(jù)

選擇某行某列數(shù)據(jù):df.ix[a:b,m:n] 選擇a行開始到b-1行,m列到n-1列的數(shù)據(jù)

l 求和計算

pandas提供了數(shù)據(jù)求和函數(shù),sum函數(shù)。具體使用方法參考下面文中的實現(xiàn)代碼

l 數(shù)據(jù)的拼接:采用append方法。

本例中的完整代碼如下:

import pandas as pd #導(dǎo)入pandas模塊進(jìn)行excel文件的讀寫預(yù)處理

import os #導(dǎo)入OS模塊對文件進(jìn)行遍歷

path,name,data =[],[],[]

for i in os.listdir(path1):# path1是存放excel數(shù)據(jù)的路徑名

ifi[0]=='2':

path.append(path1+'/'+i)

name.append(i[10:-4])#讀取員工的姓名信息

for j in path: #對路徑中的excel文件進(jìn)行遍歷

f=pd.read_excel(j)#讀取文件

sp=f.ix[4,2:13:2]*pd.Series([159,158,288,178,180,368],index=f.ix[4,2:13:2].index)#計算每種商品的價格

sp.index=f.ix[4,3:14:2].index

f.ix[4,3:14:2]=sp選擇每種商品的價格

f.ix[4,14]=sp.sum()計算每位員工的總價

data.append(f.ix[4,2:15])#合并數(shù)據(jù)

f.ix[4:4+len(os.listdir(path1)),2:15]=data

f.ix[4: 4+len(os.listdir(path1),1]=name

f.to_excel('/Users/neo/Desktop/demo.xls',index=False)#將結(jié)果保存成excel文件

3) 結(jié)果

運行以上程序,得到的結(jié)果如表3所示。從表3可以看出,每位員工的采購物品的價格都已被計算出來并合并起來,達(dá)到了我們想要的結(jié)果。對本文的代碼稍加改進(jìn),就可以完成其他的表格處理工作。大大提高了辦公效率。

3 結(jié)論

本文介紹了利用python處理excel數(shù)據(jù),主要包括采用OS模塊對文件進(jìn)行遍歷,采用pandas模塊實現(xiàn)excel數(shù)據(jù)存取、選擇、運算。從論文的實例可見,采用python進(jìn)行excel文件處理工作,簡單方便,大大提高了工作效率。

參考文獻(xiàn):

[1] 王全勝. Python在校園數(shù)據(jù)分析中的應(yīng)用——以一卡通消費為例[J].電腦知識與技術(shù),2017,13(9):1-2,6.

[2] 張雷. Python與Spark集群在收費數(shù)據(jù)分析中的應(yīng)用[J].中國交通信息化,2017(3):122-123,132.endprint

鄂托克前旗| 砀山县| 呼玛县| 惠安县| 盖州市| 怀来县| 德阳市| 建湖县| 天全县| 桐庐县| 梁山县| 瓮安县| 景宁| 郴州市| 东明县| 休宁县| 虹口区| 泰兴市| 馆陶县| 张家川| 延安市| 益阳市| 虹口区| 奎屯市| 惠水县| 武平县| 黔南| 峨眉山市| 嘉鱼县| 任丘市| 芦溪县| 同德县| 太谷县| 长岛县| 安岳县| 顺昌县| 长阳| 宁海县| 柯坪县| 广河县| 丹棱县|