python操作Excel读写--使用xlrd
2019獨角獸企業重金招聘Python工程師標準>>>
一、安裝xlrd模塊
???到python官網下載http://pypi.python.org/pypi/xlrd模塊安裝,前提是已經安裝了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)
?
單元格
cell_A1 = table.cell(0,0).value
?
cell_C4 = table.cell(2,3).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 = 1?value = '單元格的值'
?
xf = 0?# 擴展的格式化
?
table.put_cell(row, col, ctype, value, xf)
?
table.cell(0,0)? #單元格的值'
?
table.cell(0,0).value #單元格的值'
?
?
三、Demo代碼
?? Demo代碼其實很簡單,就是讀取Excel數據。
???
1 # -*- coding: utf-8 -*- 2 import xdrlib ,sys3 import xlrd4 def open_excel(file= 'file.xls'):5 try:6 data = xlrd.open_workbook(file)7 return data8 except Exception,e:9 print str(e) 10 #根據索引獲取Excel表格中的數據 參數:file:Excel文件路徑 colnameindex:表頭列名所在行的所以 ,by_index:表的索引 11 def excel_table_byindex(file= 'file.xls',colnameindex=0,by_index=0): 12 data = open_excel(file) 13 table = data.sheets()[by_index] 14 nrows = table.nrows #行數 15 ncols = table.ncols #列數 16 colnames = table.row_values(colnameindex) #某一行數據 17 list =[] 18 for rownum in range(1,nrows): 19 20 row = table.row_values(rownum) 21 if row: 22 app = {} 23 for i in range(len(colnames)): 24 app[colnames[i]] = row[i] 25 list.append(app) 26 return list 27 28 #根據名稱獲取Excel表格中的數據 參數:file:Excel文件路徑 colnameindex:表頭列名所在行的所以 ,by_name:Sheet1名稱 29 def excel_table_byname(file= 'file.xls',colnameindex=0,by_name=u'Sheet1'): 30 data = open_excel(file) 31 table = data.sheet_by_name(by_name) 32 nrows = table.nrows #行數 33 colnames = table.row_values(colnameindex) #某一行數據 34 list =[] 35 for rownum in range(1,nrows): 36 row = table.row_values(rownum) 37 if row: 38 app = {} 39 for i in range(len(colnames)): 40 app[colnames[i]] = row[i] 41 list.append(app) 42 return list 43 44 def main(): 45 tables = excel_table_byindex() 46 for row in tables: 47 print row 48 49 tables = excel_table_byname() 50 for row in tables: 51 print row 52 53 if __name__=="__main__": 54 main()轉載于:https://my.oschina.net/Bettyty/blog/755813
總結
以上是生活随笔為你收集整理的python操作Excel读写--使用xlrd的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 离线应用,缓存
- 下一篇: Swift 3 网络请求+数据解析