Python IO編程:讀取excel數據及讀取示例

一、安裝xlrd模塊

pip3 install xlrd

二、模塊方法介紹

1、導入模塊

import xlrd

2、打開excel文件

excelFile = xlrd.open_workbook('fileName.xlsx')

3、獲取所有的工作表信息

①獲取所有工作表名稱(字符串列表):

​​​​​​​excelFile.sheet_names()

②獲取工作表總數(數值):

excelFile.nsheets

③獲取所有工作表(對象列表):

excelFile.sheets()

④根據工作表名稱檢索表(對象):

excelFile.sheet_by_name('demoSheet')

⑤根據索引值檢索表(對象):

excelFile.sheet_by_index(1)

4、獲取單個工作表的具體信息(比較重要**)

①獲取單個工作表的名稱(字符串):

demoSheet.name

②獲取單個工作表的總行數(數值):

demoSheet.nrows

③獲取單個工作表的總列數(數值):

demoSheet.ncols

④獲取某一行的某幾列數據(字符串列表):

demoSheet.row_values(0, 2, 5)
// 獲取 第0行的第2~5列(不含第5列,默認以0爲起始值)

⑤獲取某一列的某幾行數據(字符串列表):

demoSheet.col_values(7, 0, 26)
// 獲取 第7列的第0~26行(不含第26行,默認以0爲起始值)

⑥獲取指定單元格值(字符串 or 數值):

demoSheet.cell_value(5,6)

demoSheet.cell(5,6).value

demoSheet.row(5)[6].value

⑦獲取指定單元格類型(字符串):

demoSheet.cell_ctype(5,6)

demoSheet.cell(5,6).ctype

demoSheet.row(5)[6].ctype

⑧獲取某一整列數據(字符串列表):

demoSheet.col_values(0)
// 獲取 第一列所有數據

⑨獲取某一整行數據(字符串列表) :

demoSheet.row_values(0)
// 獲取 第一行所有數據

 

三、示例【分頁批量讀取excel文件指定列的所有行並保存到本地】

import xlrd

# 打開excel文件
worksheet = xlrd.open_workbook('FileName.xlsx')
# 獲取所有工作表名稱
sheet_names= worksheet.sheet_names()
# print(sheet_names)

for sheet_name in sheet_names:
    # 按照sheet_name來檢索工作表
    sheet = worksheet.sheet_by_name(sheet_name)
    rows = sheet.nrows # 獲取該工作表的總行數
    cols = sheet.ncols # 獲取該工作表的總列數

    # 獲取 第1列所有數據(第1行的標題除外)
    name = sheet.col_values(0,1,cols)

    ratelist = list()
    for i in range(1,rows):
        # 獲取第i行第4到第14列數據(第14列除外)
        rates = sheet.row_values(i,4,14)
        # ratelist.append(rate)
        ratelist.append(rates)

    resultlist = list(zip(name,ratelist))
    # print(resultlist)

    # 將數據保存到本地
    filename = sheet_name +'.txt'
    with open(filename,'w+',encoding='utf-8')as f:
        for result in resultlist:
            f.write(str(result) + ',\n')
    f.close()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章