一、前言
最近總是和excel打交道,由于數據量較大,人工來修改某些數據可能會有點浪費時間,這時候就使用到了Python數據處理的神器—–Pandas庫,話不多說,直接上Pandas。
二、安裝
這次使用的python版本是python2.7,安裝python可以去python的官網進行下載,這里不多說了。
安裝完成后使用Python自帶的包管理工具pip可以很快的安裝pandas。
pip install pandas
如果使用的是Anaconda安裝的Python,會自帶pandas。
三、read_excel()介紹
首先可以先創建一個excel文件當作實驗數據,名稱為example.xlsx,內容如下:
| name | age | gender |
|---|---|---|
| John | 30 | male |
| Mary | 22 | female |
| Smith | 32 | male |
這里是很簡單的幾行數據,我們來用pandas實際操作一下這個excel表。
# coding:utf-8import pandas as pddata = pd.read_excel('example.xlsx', sheet_name='Sheet1')print data結果如下:

這里使用了read_excel()方法來讀取excel,來看一個read_excel()這個方法的API,這里只截選一部分經常使用的參數:
pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None)
這里主要參數為io,sheet_name,header,usecols和names
io:excel文件,如果命名為中文,在python2.7中,需要使用decode()來解碼成unicode字符串,例如: pd.read_excel('示例'.decode('utf-8)) sheet_name:返回指定的sheet,如果將sheet_name指定為None,則返回全表,如果需要返回多個表,可以將sheet_name指定為一個列表,例如['sheet1', 'sheet2'] header:指定數據表的表頭,默認值為0,即將第一行作為表頭。 usecols:讀取指定的列,例如想要讀取第一列和第二列數據:pd.read_excel("example.xlsx", sheet_name=None, usecols=[0, 1])四、使用
這里先來一個在機器學習中經常使用的:將所有gender為male的值改為0,female改為1。
# coding:utf-8import pandas as pdfrom pandas import DataFrame# 讀取文件data = pd.read_excel("example.xlsx", sheet_name="Sheet1")# 找到gender這一列,再在這一列中進行比較data['gender'][data['gender'] == 'male'] = 0data['gender'][data['gender'] == 'female'] = 1print data結果如下:

需要注意的是,這里的data為excel數據的一份拷貝,對data進行修改并不會直接影響到我們原來的excel,必須在修改后保存才能夠修改excel。保存的代碼如下:
新聞熱點
疑難解答