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讀寫的正常使用。