xlrd 模塊讀取 execl 類的文件
阿新 • • 發佈:2018-06-07
open 如果 xlrd 列數 () app 指定 多個 開始
讀取文件內容
1. 代碼
#!/usr/bin/env python3 import xlrd name = r"E:\excel\yong.xls" # 1. 打開文件 data = xlrd.open_workbook(name) # 2. 打開工作表 # 2.1. 打印 文件對象的工作表明, 列表格式 # all_table_name = data.sheet_names() # print(all_table_name) # 2.2. 打開所有的工作表的列表 # table = data.sheets() # 格式為 list 獲取多個, 遍歷即可 # 2.3. 通過索引選取工作表, 如果索引沒有工作表就會報錯 # table = data.sheet_by_index(0) # 2.4. 打開指定工作表 table = data.sheet_by_name(u‘Sheet1‘) # 3. 獲取行, 列 # 3.1. 獲取行數 nrows = table.nrows print(nrows) # 3.2. 獲取 列數 ncols = table.ncols print(nrows) # 4. 獲取所有行 list_data = [] # 4.1. 循環 nrows打印的行數 for i in range(nrows): # 1). 使用 row.values 方法, 獲取 文件的第 i 行數據, 格式為 list line_data = table.row_values(i) # print(‘line_data: ‘, line_data, type(line_data)) # 2). 獲取 一列 myColValues = table.col_values(i) # i是列數,從0開始計數,返回list對象。 # 3). 將 列表添加進總列表中 list_data.append(line_data) # 4.2. 打印總數據列表 print(list_data)
2. 模塊的方法
1). 打開文件函數, 返回一個可操作的對象 data = xlrd.open_workbook("文件路徑") 2). 獲取行, 列數 (1): 獲取行數 nrows = table.nrows print(nrows) (2): 獲取列數 ncols = table.ncols print(nrows) 3). 根據對象工作表 (1): 打印 文件對象的工作表明, 列表格式 all_table_name = data.sheet_names() print(all_table_name) (2): 打開所有的工作表的列表, 格式為 list 獲取多個, 遍歷即可 table = data.sheets() (3): 通過索引選取工作表, 如果索引沒有工作表就會報錯 table = data.sheet_by_index(0) (4): 打開指定工作表 table = data.sheet_by_name(u‘Sheet1‘) # 必須是 unicode 格式 4). 獲取行內容 (1): 獲取行內容 table.row_values(i) # i 是想要去的行數, 從 0 開始 所以一般選擇 1.1 中的遍歷取值 (2). 獲取列內容 myColValues = table.col_values(i) # i是列數,從0開始計數,返回 list 對象。 5). 獲取單元格內容 cell_A1 = table.cell(0,0).value cell_C4 = table.cell(2,3).value 6). 使用行列索引 cell_A1 = table.row(0)[0].value cell_A2 = table.col(1)[0].value 7). 使用行列索引 cell_A1 = table.row(0)[0].value cell_A2 = table.col(1)[0].value
xlrd 模塊讀取 execl 類的文件