1. 程式人生 > >xlrd 模塊讀取 execl 類的文件

xlrd 模塊讀取 execl 類的文件

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 類的文件