xlrd

Python語言中,讀取Excel的擴展工具。

(意為:xls檔案read庫,只能讀。

若寫入,要用xlwt,意為:xls檔案write寫入庫。)

可以實現指定表單、指定單元格的讀取。

使用時請確保已經安裝python環境。

基本介紹

  • 外文名:python
用法介紹,主要功能,發展歷史,重要事件,

用法介紹

示例:
1、導入擴展包
import xlrd
2、打開Excel檔案讀取數據
data = xlrd.open_workbook('excelFile.xls')
3、使用技巧
獲取一個工作表
table = data.sheets()[0] #通過索引順序獲取
table = data.sheet_by_index(0) #通過索引順序獲取
table = data.sheet_by_name(u'Sheet1')#通過名稱獲取
獲取整行和整列的值(數組)
table.row_values(i)
table.col_values(i)
獲取行數和列數
nrows = table.nrows
ncols = table.ncols
循環行列表數據
for i in range(nrows ):
print table.row_values(i)
單元格
table.cell(rowx,colx)
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(3,2).value
使用行列索引
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value
簡單的寫入
row = 0
col = 0
# 類型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
ctype = 1value = '單元格的值'
xf = 0# 擴展的格式化
table.put_cell(row, col, ctype, value, xf)
table.cell(0,0) #單元格的值'
table.cell(0,0).value #單元格的值'
#-*-coding:utf-8-*-import xlrddef open_excel(file='file.xls'):    try:        data=xlrd.open_workbook(file)        return data    except Exception,e:        print str(e)        #根據索引獲取Excel表格中的數據#參數列表:#file:Excel檔案路徑 colname_index:表頭列名所在行的索引 by_index:表的索引def excel_table_byindex(file='file.xls',colname_index=0,by_index=0):    data=open_excel(file)    table=data.sheets()[by_index]    nrows=table.nrows#行數    ncols=table.ncols#列數    colnames=table.row_values(colname_index)#某一行數據    res_list=[]    for rownum in range(1,nrows):        row=table.row_values(rownum)        if row:            app={}            for i in range(len(colnames)):                app[colnames[i]]=row[i]                res_list.append(app)    return res_list #根據名稱獲取Excel表格中的數據#參數列表:#file:Excel檔案路徑 colname_index:表頭列名所在行的索引 by_name:Sheet1名稱def excel_table_byname(file='file.xls',colname_index=0,by_name=u'Sheet1'):    data=open_excel(file)    table=data.sheet_by_name(by_name)    nrows=table.nrows#行數    colnames=table.row_values(colname_index)#某一行數據    res_list=[]    for rownum in range(1,nrows):        row=table.row_values(rownum)        if row:            app={}            for i in range(len(colnames)):                app[colnames[i]]=row[i]                res_list.append(app)    return res_list def main():    tables=excel_table_byindex()    for row in tables:        print row         tables=excel_table_byname()    for row in tables:        print row if __name__=="__main__":    main()

主要功能

Python語言中,讀取Excel的擴展工具。
可以實現指定表單、指定單元格的讀取。

發展歷史

python2.X 版本下,使用xlrd擴展包。
python3.X 版本下,需要更新到xlrd3擴展包。

重要事件

python由2.x到3.x是一個巨大的變化,很多擴展包都已經無法使用。
excel讀寫擴展包跟隨python版本,升級到xlrd3版本,保證了新版python對excel讀寫的正常使用。

相關詞條

熱門詞條

聯絡我們