作為一名曾經的“表哥”,最近在學習python, 開這個專欄的目的,是想盡量用淺顯易懂的語言,結合日常office工作中的一些常用操作,來講一講如何使用python提升工作效率,以幫助有需求的officer們。

文章將持續更新。

如何用python讀、寫excel表格的資料

1、需要用到的模組(別人寫好的軟體)

如果只寫一張sheet頁,那麼我們只需用到一個模組,它叫pandas。

如果要寫多個sheet頁,那麼還要用到另一個模組,openpyxl。

我們一步步來,今天只用到pandas

2、準備工作:

先弄一個有資料的Excel檔案,我們假設它的名字叫的“test。xlsx”,裡面有一個sheet頁,叫“sheet1”

3、擴充套件python的能力:

在python生態環境中,有非常多的人在為它開發各種各樣的“軟體”, 以擴充套件python的能力,在使用它們之前,我們要引入它,並且最好給引入的能力取個名字,以方便你在後面使用它。

下面這句話就是python中引入軟體模組的常用格式,當然它還有許多變種,我們先講最簡單的一種:

import pandas as pd

“pandas“是python生態中十分重要的一個軟體模組,只要是從事資料分析工作,沒法離開它。“pd” 就是你給引入pandas後,你後面程式設計“呼叫”它的能力時所取的名字,以後你一喊它,它就會乖乖地聽你的話。

4、讀取excel表格中的資料:

下面我們用一句話讀取”test。xlsx“檔案中”sheet1“頁中的資料表,並且把它有序地存放在計算機記憶體中某個地方,你可以理解這個地方是按pandas軟體規劃好的一個格子間(pandas開發人員把它叫做Dataframe),它把讀取進來的資料按格子一個個地給塞進去,方便你取用。

df = pd。read_excel(”d:\\data\\test1。xlsx“)

為了方便講解,我隨便做了一個最簡單的費用報銷登記表格,如下:

日常office工作中如何用python提升效率001

在電腦上執行上述命令後,”df“ 這個計算機的“格子間”裡,就存放了這張表裡的所有資料,像下面這個樣子(注:你不需要開啟這個excel檔案就可以讀取裡面的資料)

日常office工作中如何用python提升效率001

你可以隨時檢視讀取進來的資料,敲一個”df“,把它召喚出來就行。

日常office工作中如何用python提升效率001

如果要檢視報銷金額的最大值,這樣做:

df[”報銷金額“]。max()

日常office工作中如何用python提升效率001

如果想知道是誰報銷了這麼大的金額呢?這樣做:

df[”姓名“][df[”報銷金額“]==df[”報銷金額“]。max()

日常office工作中如何用python提升效率001

如果要彙總所有的報銷費用,這樣做:

日常office工作中如何用python提升效率001

有沒有發現一個問題呢?,彙總出來的數似乎和excel表格中的資料實際加總值不太一樣,小數點後多了很多位,這是因為計算機把讀進來的帶小數位的數全轉換成了“浮點”型別,而浮點數在運算時,由於計算機本身的進位制轉換的原因,導致了極微小的偏差,但這不影響整體的資料應用。

另外,預設情況下,pandas在讀取資料後,會自動給加一列序號,這是它的”索引“,就相當於格子間的編號,你可以很方便地用它來存取資料,當然,你也可以不用它這個自動的索引,方法我們後面再講。

下面,我們給這個表格加一列資料,比如“接單人”,先簡單一點,假設全部都是“吳MM”簽收的報銷單,這樣做:

df[”接單人“] = ”吳MM“

然後我們再把它們全部召喚出來,集合排隊報下數:

日常office工作中如何用python提升效率001

5、把處理好的資料寫入excel表格:

辛苦一天,該下班關電腦了,python不像excel,有自動儲存資料的功能,我們還是把勞動成果先儲存了再說,否則關了機,可就啥也沒有了。

這樣做:

先提醒一下

:大家如果要在自己的資料表格上操作,請一定記得要先備份好原始資料,因為pandas自帶的寫excel檔案方法,是會把原檔案覆蓋掉的,如果你的原始表格資料很重要,執行下面這條命令,那些其他的表格和資料可都找不回來了,到時候可不要來打我。

df。to_excel(”d:\\data\\test。xlsx“)

再開啟test。xlsx這個檔案,就成這樣了:

日常office工作中如何用python提升效率001