一、獲取工作簿及工作表
- 讀取工作簿及工作表
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
五、上述操作的表格數據