Python用xlrd获取Excel数据


一、用xlrd获取对应数据,并获取所有sheet的名字

import xlrd
data=xlrd.open_workbook(r'C:\Users\ASUS\Desktop\重新开始\Python获取Excel数据\user1.xlsx')
print(data.sheet_names()) #获取Excel文件所有sheet名字

二、打开Excel sheet的三中方式

#table=data.sheet_by_index(0)#通过索引获取对应的sheet
table=data.sheet_by_name("Sheet1")#通过名称获取对应的sheet
#table=data.sheets()[0] #通过索引获取对应sheet

三、获取当前sheet名字以及行数和列数

name=table.name   # 获取Excel当前sheet的名称
nrows=table.nrows # 获取表的行数
ncols=table.ncols # 获取表的列数
print(name)
print(nrows)
print(ncols)

四、行级操作Excel数据

#行级操作Excel数据
print(table.row(1))#返回该行中所有单元格对象组成的列表
print(table.row_slice(1))#返回该行中所有单元格对象组成的列表
print(table.row_types(0, start_colx=0, end_colx=None))#返回该行中所有单元格的数据类型组成的列表
print(table.row_values(0, start_colx=0, end_colx=None))#返回该行中所有单元格的数据组成的列表
#把数据按行装入列表中
list1=[]
for i in range(nrows):
    #list1.append(table.row_values(i)[:3])
    list1.append(table.row_values(i, start_colx=0, end_colx=None))
print(list1)

五、列级操作Excel数据

#列级操作Excel数据
print(table.col(1))#返回该列中所有单元格对象组成的列表
print(table.col_slice(1))#返回该列中所有单元格对象组成的列表
print(table.col_types(0, start_rowx=0, end_rowx=None))#返回该列中所有单元格的数据类型组成的列表
print(table.col_values(0, start_rowx=0, end_rowx=None))#返回该列中所有单元格的数据组成的列表
#把数据按列装入列表中
list2=[]
for i in range(ncols):
    list2.append(table.col_values(i)[0:11])
print(list2)

六、对Excel单元格进行操作

#对Excel单元格进行操作
print(table.cell(0,0)) #返回单元格对象
print(table.cell_type(0,0))#返回单元格中的数据类型
print(table.cell_value(0,0))#返回单元格中的数据

七、把数据以单元格的方式装入列表中的两种方法

#把数据以单元格的方式装入列表中的两种方法
list3 = [] #新建一个列表
for r in range(nrows): #将表中数据按行逐步添加到列表中,最后转换为list结构
    list4 = []
    for c in range(ncols):
        list4.append(table.cell_value(r,c))
    list3.append(list4)
print(list3)

list5 = [] #新建一个列表
for r in range(ncols): #将表中数据按列逐步添加到列表中,最后转换为list结构
    list6 = []
    for c in range(nrows):
        list6.append(table.cell_value(c,r))
    list5.append(list6)
print(list5)