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'}]

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM