Python 讀取xlsx表格數據


一、獲取工作簿及工作表

  1. 讀取工作簿及工作表
import xlrd

#讀取工作簿
wb = xlrd.open_workbook(filename=r'C:\Users\Administrator.PC-20160806EWJL\Desktop\Python數據可視化\業績指標衡量.xlsx')  ##讀取路徑

#3種方式讀取工作表
table1 = wb.sheets()[1]             #通過索引順序獲取
table2 = wb.sheet_by_index(1)       #通過索引順序獲取
table3 = wb.sheet_by_name('Sheet2') #通過名稱獲取

print(table1,'\n',table2,'\n',table3)
# # 以上三個函數都會返回一個xlrd.sheet.Sheet()對象
結果:
<xlrd.sheet.Sheet object at 0x0000000008FA16D8> <xlrd.sheet.Sheet object at 0x0000000008FA16D8> <xlrd.sheet.Sheet object at 0x0000000008FA16D8>

2.獲取工作簿中所用工作表名稱及查看工作表是否當如成功

names = wb.sheet_names()             #返回book中所有工作表的名字
print(names) print(data.sheet_loaded('Sheet1')) # 檢查某個sheet是否導入完畢

  結果:

['Sheet1', 'Sheet2', 'Sheet3']
True

二、對工作表中的行(raws)進行操作

nrows = table.nrows  #獲取該sheet中的有效行數

table.row(rowx)/table.row_slice(rowx) #返回由該行中所有的單元格對象組成的列表 

table.row_types(rowx, start_colx=0, end_colx=None) #返回由該行中所有單元格的數據類型組成的列表

table.row_values(rowx, start_colx
=0, end_colx=None) #返回由該行中所有單元格的數據組成的列表

table.row_len(rowx)
#返回該行的有效單元格長度
  • 事例
import xlrd 

wb = xlrd.open_workbook(r"C:\Users\Administrator.PC-20160806EWJL\Desktop\Python數據可視化\業績指標衡量.xlsx")
table = wb.sheet_by_name("Sheet1")

print(table.nrows,'\n')   #獲取該sheet中的有效行數
print(table.row(1),'\n')   #返回由該行中所有的單元格對象組成的列表
print(table.row_types(0, start_colx=0, end_colx=None),'\n')    #返回由該行中所有單元格的數據類型組成的列表
print(table.row_values(1, start_colx=0, end_colx=None),'\n')    #返回由該行中所有單元格的數據組成的列表
print(table.row_len(1))  #返回該列的有效單元格長度

結果:

7 

[text:'員工A', number:3.6924042544390874, number:3.6354360275164543, number:3.4774668039215584, number:2.993047089319283, number:0.981679490963886, number:2.9117515738038224, number:4.16861821993065, number:0.8072696496151421] 

array('B', [0, 1, 1, 1, 1, 1, 1, 1, 1]) 

['員工A', 3.6924042544390874, 3.6354360275164543, 3.4774668039215584, 2.993047089319283, 0.981679490963886, 2.9117515738038224, 4.16861821993065, 0.8072696496151421] 

9

三、對工作表中的列(column)進行操作

ncols = table.ncols   #獲取列表的有效列數

table.col(colx, start_rowx=0, end_rowx=None) /table.col_slice(colx, start_rowx=0, end_rowx=None) #返回由該列中所有的單元格對象組成的列表

table.col_types(colx, start_rowx=0, end_rowx=None)    #返回由該列中所有單元格的數據類型組成的列表

table.col_values(colx, start_rowx=0, end_rowx=None)   #返回由該列中所有單元格的數據組成的列表
  • 事例
import xlrd
wb = xlrd.open_workbook(r"C:\Users\Administrator.PC-20160806EWJL\Desktop\Python數據可視化\業績指標衡量.xlsx")
table = wb.sheet_by_name("Sheet1")

print(table.ncols,'\n')  #獲取列表的有效列數
print(table.col(1,start_rowx=0,end_rowx=None),'\n')  #返回由該列中所有的單元格對象組成的列表
print(table.col_types(1, start_rowx=0, end_rowx=None),'\n')    #返回由該列中所有單元格的數據類型組成的列表
print(table.col_values(1, start_rowx=0, end_rowx=None),'\n')   #返回由該列中所有單元格的數據組成的列表

結果:

9 

[text:'指標A', number:3.6924042544390874, number:2.309496552320653, number:1.8410171154894823, number:2.4112829149263293, number:3.8001524925886, number:3.6] 

[1, 2, 2, 2, 2, 2, 2] 

['指標A', 3.6924042544390874, 2.309496552320653, 1.8410171154894823, 2.4112829149263293, 3.8001524925886, 3.6] 


四、對工作表中的單元格進行操作
table.cell(rowx,colx)   #返回單元格對象

table.cell_type(rowx,colx)    #返回單元格中的數據類型

table.cell_value(rowx,colx)   #返回單元格中的數據
  • 事例
import xlrd
wb = xlrd.open_workbook(r"C:\Users\Administrator.PC-20160806EWJL\Desktop\Python數據可視化\業績指標衡量.xlsx")
table = wb.sheet_by_name("Sheet1")

print(table.cell(1,1) ,'\n')    #返回單元格對象
print(table.cell_type(1,1) ,'\n')     #返回單元格中的數據類型
print(table.cell_value(1,1)  ,'\n')     #返回單元格中的數據
number:3.6924042544390874 

2 

3.6924042544390874 

五、上述操作的表格數據

 
       


免責聲明!

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



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