python使用pandas處理excel的方法
一、配置環(huán)境
1、pandas依賴處理Excel的xlrd模塊,安裝命令是:
pip install xlrd
2、安裝pandas模塊還需要一定的編碼環(huán)境,確保你的電腦有這些環(huán)境:Net.4 、VC-Compiler以及winsdk_web。
3、開始安裝pandas,安裝命令是:
pip install pandas
二、pandas操作Excel表單
注意:加密文件是無法正常讀寫的
首先需準備一個表單
1、讀取excel文件的方式一:默認讀取第一個表單:
import pandas as pd # 方法一:默認讀取第一個表單 df = pd.read_excel("C:\文件路徑\文件名.xlsx") # 直接默認讀取到Excel的第一個表單 data = df.head() # 默認讀取前5行的數(shù)據(jù) print("獲取到所有的值:n{0}".format(data)) # 格式化輸出
得到的結果是一個二維矩陣,如下圖所示:
2、讀取excel文件的方式二:通過制定表單名的方式讀取:
import pandas as pd # 方法一:通過指定表單名的方式來讀取 df = pd.read_excel("C:\文件路徑\文件名.xlsx ", sheet_name='測試用例') # 直接默認讀取到Excel的第一個表單 data = df.head() # 默認讀取前5行的數(shù)據(jù) print("獲取到所有的值:n{0}".format(data)) # 格式化輸出
得到的結果是一個二維矩陣,如下圖所示:
3、讀取excel文件的方法三:通過表單索引來指定要訪問的表單,0表示第一個表單
import pandas as pd # df = pd.read_excel(' C:\文件路徑\文件名.xlsx ']) # 可以通過表單名同時指定多個 df = pd.read_excel(' C:\文件路徑\文件名.xlsx ', sheet_name=0) # 可以通過表單索引來指定讀取的表單 # df = pd.read_excel(' C:\文件路徑\文件名.xlsx ', sheet_name=['功能模塊', 1]) # 可以混合的方式來指定 # df = pd.read_excel(' C:\文件路徑\文件名.xlsx ', sheet_name=[1, 2]) # 可以通過索引 同時指定多個 data = df.values # 獲取所有的數(shù)據(jù),注意這里不能用head()方法哦~ print("獲取到所有的值:n{0}".format(data)) # 格式化輸出
三、pandas操作Excel的行列
1:讀取指定的單行,數(shù)據(jù)會存在列表里面
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') data = df.ix[0].values # 0表示第一行 這里讀取數(shù)據(jù)并不包含表頭,要注意哦! print("獲取到所有的值:n{0}".format(data)) # 格式化輸出
2:讀取指定的多行,數(shù)據(jù)會存在嵌套的列表里面:
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') data = df.ix[[1, 2]].values # 讀取指定多行的話,就要在ix[]里面嵌套列表指定行數(shù) print("獲取到所有的值:n{0}".format(data)) # 格式化輸出
3:讀取指定的行列:
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') data = df.ix[1, 2] # 讀取第一行第二列的值,這里不需要嵌套列表 print("獲取到所有的值:n{0}".format(data)) # 格式化輸出
4:讀取指定的多行多列值:
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') data = df.ix[[1, 2], ['序號', '功能劃分']].values # 讀取第一行第二行的序號以及功能劃分列的值,這里需要嵌套列表 print("獲取到所有的值:n{0}".format(data)) # 格式化輸出
5:獲取所有行的指定列
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') data = df.ix[:, ['序號', '功能劃分']].values # 讀所有行的“序號”以及“功能劃分”列的值,這里需要嵌套列表 print("獲取到所有的值:n{0}".format(data)) # 格式化輸出
6:獲取行號并打印輸出
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') print("輸出行號列表", df.index.values)
7:獲取列名并打印輸出
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') print("輸出列標題", df.columns.values)
8:獲取指定行數(shù)的值:
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') print("輸出值:n", df.sample(3).values) # 這個方法類似于head()方法以及df.values方法
9:獲取指定列的值:
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') print("輸出值n", df['功能劃分'].values)
四、pandas處理Excel數(shù)據(jù)成為字典
import pandas as pd df = pd.read_excel(' C:\文件路徑\文件名.xlsx ') test_data = [] for i in df.index.values: # 獲取行號的索引,并對其進行遍歷: # 根據(jù)i來獲取每一行指定的數(shù)據(jù) 并利用to_dict轉成字典 row_data = df.ix[i, ['序號', '功能劃分', '備注']].to_dict() test_data.append(row_data) print("最終獲取到的數(shù)據(jù)是:n{0}".format(test_data))
推薦:Python教程