1. 程式人生 > 實用技巧 >python學習6--python讀取excel資料

python學習6--python讀取excel資料

一、xlrd模組介紹

1.xlrd是讀取excel表格資料;

2.支援xlsx和xls格式的excel表格

3.安裝方式:pip install xlrd

4.模組匯入方式:import xlrd

二、環境準備

1.先安裝xlrd模組,開啟cmd,輸入pip install xlrd線上安裝

三、基本操作

1.excle基本操作方法如下

import xlrd
#開啟excle表格,引數是檔案路徑
a=xlrd.open_workbook("E:\\sys_user.xls")
#table=a.sheets()[0] #通過索引順序獲取
# table=a.sheet_by_index(0) #通過索引順序獲取
table=a.sheet_by_name("user") #通過名稱獲取
nrows=table.nrows #獲取總行數
ncols=table.ncols #獲取總列數
print(nrows,ncols)
#獲取一行或一列的值,引數是第幾行
print(table.row_values(0)) #獲取第一行值
print(table.col_values(0)) #獲取第一列值

 執行結果:

20 2
['test1', 1.0]
['test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8', 'test9', 'test10', 'test11', 'test12', 'test13', 'test14', 'test15', 'test16', 'test17', 'test18', 'test19', 'test20']

三、excel存放資料

1.在excel中存放資料,第一行為標題,也就是對應字典裡面的key值,如:username,passwd

2.如果excel資料中有純數字的一定要右鍵》設定單元格格式》文字格式,要不然讀取的資料是浮點數(先設定單元格格式後編輯,編輯成功左上角有小三角圖示)

注意,我嘗試先填寫數字,再設定文字,未顯示小三角圖示;將數字內容刪除,重寫填寫數字,顯示小三角圖示。 

四、封裝讀取方法

1.最終讀取的資料是多個字典的list型別資料,第一行資料是字典裡的key值,從第二行開始一一對應value值

2.封裝好後代碼如下:

import xlrd
a=xlrd.open_workbook("D:\\user.xlsx")
table=a.sheet_by_name("user")
nrows=table.nrows
ncols=table.ncols
print(nrows,ncols)#6,2
key=table.row_values(0)
result=[]
n=1
while n!=nrows:
    d={}
    v=table.row_values(n)
    # print(v)
    for i in range(ncols):#0,1
        d[key[i]]=v[i]
    result.append(d)
    n+=1
    # print(d)
print(result)

 執行結果:

6 2
[{'username': 'test1', 'passwd': '3'}, {'username': 'test2', 'passwd': '4'}, {'username': 'test3', 'passwd': '5'}, {'username': 'test4', 'passwd': '6'}, {'username': 'test5', 'passwd': '7'}]

 整理成方法,程式碼如下:

import xlrd
def read_excel(filepath,sheetname):
    a=xlrd.open_workbook(filepath)
    table=a.sheet_by_name(sheetname)
    result=[]
    n=1
    nrow=table.nrows
    ncol=table.ncols
    key=table.row_values(0)
    while n!=nrow:
        d={}
        v=table.row_values(n)
        for i in range(ncol):
           d[key[i]]=v[i]
        result.append(d)
        n += 1
    return result

print(read_excel("D:/user.xlsx","user"))

 執行結果:

[{'username': 'test1', 'passwd': '3'}, {'username': 'test2', 'passwd': '4'}, {'username': 'test3', 'passwd': '5'}, {'username': 'test4', 'passwd': '6'}, {'username': 'test5', 'passwd': '7'}]