python 讀取 execl 文件 之 xlrd 模塊

1. 安裝 xlrd模塊

pip install  xlrd

2. 讀取文件內容

#!/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  ,從0開始計數
    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)

3. 模塊的方法

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
相關文章
相關標籤/搜索