Python_xlrd模塊介紹


簡介:

在Python中xlrd和xlwt是兩個很重要的模塊,主要解決Python讀寫excel數據的接口問題。

 

1. 數據格式

xlrd所讀取的excel數據可能的格式有七種:

  • empty(空的)
  • text(string)
  • number,
  • date,
  • boolean,
  • error,
  • blank(空白表格)

 

2. 獲取Book工作簿(即excel工作簿,包含所有工作表)

1 data = xlrd.open_workbook(filename)    
    # 讀取名為filename的工作簿;
    # 若所讀取的excel文件與Python程序在同一個路徑下,則filename為文件名字符串;
    # 若所讀取的excel文件與Python程序不在同一個路徑下,則filename為文件所在路徑及名稱,此時路徑為加一個r原生字符。    
    # 返回值data類型xlrd.book.Book,其包含所讀取的excel工作簿的所有表格。 更多方法: names = data.sheet_names() # 返回book中所有工作表的名字 data.sheet_loaded(sheet_name or indx) # 檢查某個sheet是否導入完畢

 

 

2. 獲取Sheet工作表(即Book中的一個表)

table = data.sheets()[0]   
 # 通過索引順序獲取

table = data.sheet_by_index(sheet_indx))   
    #通過索引順序獲取

table = data.sheet_by_name(sheet_name)  
    # 通過名稱獲取

    # 三種方法返回值均為xlrd.sheet.Sheet()對象

 

 

 

3. 操作sheet工作表行(對象為sheet表)

 1 nrows = table.nrows  
 2     # 獲取該sheet中的行數,注,這里table.nrows后面不帶().
 3 
 4 table.row(rowx)
 5     # 返回由該行中所有的單元格對象組成的列表,這與tabel.raw()方法並沒有區別。
 6 
 7 table.row_slice(rowx)  
 8     # 返回由該列中所有的單元格對象組成的列表
 9 
10 table.row_types(rowx, start_colx=0, end_colx=None)    
11     # 返回由該行中所有單元格的數據類型組成的列表;
    # 返回值為邏輯值列表,若類型為empy則為0,否則為1
12 13 table.row_values(rowx, start_colx=0, end_colx=None) 14 # 返回由該行中所有單元格的數據組成的列表 15 16 table.row_len(rowx) 17 # 返回該列的有效單元格長度,即這一行有多少個數據

 

 

 

4. 操作sheet工作表列(對象為sheet表)

 1 ncols = table.ncols   
 2     # 獲取列表的有效列數
 3 
 4 table.col(colx, start_rowx=0, end_rowx=None)  
 5     # 返回由該列中所有的單元格對象組成的列表
 6 
 7 table.col_slice(colx, start_rowx=0, end_rowx=None)  
 8     # 返回由該列中所有的單元格對象組成的列表
 9 
10 table.col_types(colx, start_rowx=0, end_rowx=None)    
11     # 返回由該列中所有單元格的數據類型組成的列表
12 
13 table.col_values(colx, start_rowx=0, end_rowx=None)  
14     # 返回由該列中所有單元格的數據組成的列表    

 

 

 

5. 單元格操作(對象為sheet表)

 1 table.cell(rowx,colx)   
 2     # 返回單元格對象
 3 
 4 table.cell_type(rowx,colx)    
 5     # 返回對應位置單元格中的數據類型
 6 
 7 table.cell_value(rowx,colx)   
 8     # 返回對應位置單元格中的數據
 9     

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM