目录
7.2.1 逐级获得wb的下级对象数组,sheets对象数组
7.2.2 直接获得wb的下级sheets对象的一些属性,用特定方法
7.2.5 获取某个具体的sheet 里的单元格,范围内容呢?
import xlwt
wb = xlwt.Workbook(encoding='utf-8')
sh = wb.add_sheet("test")
一定要保存后才能看到修改的结果
savePath = r'C:\Users\Administrator\Desktop\1002.xls'
wb.save(savePath)
先回忆下数学里的矩阵 Ai*j
行=矩阵的行
列=矩阵的列
矩阵的保存形式是这样的
列表:一般是指矩阵里的1行,
因此列表的长度:一般是指矩阵的行数
列表的某1个元素的长度:一般是指矩阵的列数
head = ['列1','列2','列3']
data = [['a11','a12','a13'],['a22','a22','a23']]
- import xlwt
- wb = xlwt.Workbook(encoding='utf-8')
- sh = wb.add_sheet("test")
- head = ['列1','列2','列3']
- data = [['a11','a12','a13'],['a22','a22','a23']]
- for i in head:
- sh.write(0,head.index(i),i)
- for i in range(len(data)):
- for j in range(len(data[i])):
- sh.write(i+1,j,data[i][j])
- savePath = r'C:\Users\Administrator\Desktop\1002.xls'
- wb.save(savePath)

import xlrd
print(xlrd.__version__)
import xlrd
print(xlrd.__version__)##创建wb对象,打开对应的wb表对象
wb=xlrd.open_workbook(r'C:\Users\Administrator\Desktop\2001.xls')
#获取wb对象下的,sheet对象,且是个对象数组
sheets=wb.sheets()
print(sheets)
print(len(sheets))
print(sheets.count) #错误sheets.count
#直接获取sheet对象的.属性呢?可以么?可以,但只能是 sheet.name 没有 sheets.name
sheets=wb.sheets()
for sh in sheets:
print(sh.name)
#也可以直接去获取wb对象下的sheets对象的名字数组,这不是对象数组,而是字符串数组
sheetnames=wb.sheet_names()
print(sheetnames)
获取某个具体的sheet有3种方法
rows=sh1.nrows
columns=sh1.ncols #写sh1.ncolumns报错...
print(rows)
print(columns)print("{0}这个表有{1}行{2}列".format(sh1.name,rows,columns))
print(sh1.name,"这个表有",rows,"行",columns,"列")
print(f"sh1.name这个表有rows行columns列")
print("%s这个表有%d行%d列" %(sh1,rows,columns))
- import xlrd
- print(xlrd.__version__)
-
- ##创建wb对象,打开对应的wb表对象
- wb=xlrd.open_workbook(r'C:\Users\Administrator\Desktop\2001.xls')
-
- #获取wb对象下的,sheet对象,且是个对象数组
- sheets=wb.sheets()
- print(sheets)
- print(len(sheets))
- print(sheets.count) #错误sheets.count
-
- #也可以直接去获取wb对象下的sheets对象的名字数组,这不是对象数组,而是字符串数组
- sheetnames=wb.sheet_names()
- print(sheetnames)
-
- #直接获取sheet对象的.属性呢?可以么?可以,但只能是 sheet.name 没有 sheets.name
- sheets=wb.sheets()
- for sh in sheets:
- print(sh.name)
-
- print()
- ##获取某个具体的sheet
- #取wb得sheet对象数组里得某一个
- sh1=wb.sheets()[0]
- #根据sheet的次序去取
- sh2=wb.sheet_by_index(1)
- #根据具体的sheet显示名去取(EXCEL里sheet的显示名不同于程序内部的真实name或者index)
- sh3=wb.sheet_by_name("sheet101")
- #sh4=wb.sheet_by_name("sheet1001") #错误sheet名会引起报错
-
-
- #从wb的sheet数组里取得是对象,取得对象属性还需要用 sh1.name等
- print(sh1)
- print(sh1.name)
- print(sh2)
- print(sh3)
-
- print()
- ##获取sheet里的内容
-
-
- rows=sh1.nrows
- columns=sh1.ncols #写sh1.ncolumns报错...
- print(rows)
- print(columns)
-
- print("{0}这个表有{1}行{2}列".format(sh1.name,rows,columns))
- print(sh1.name,"这个表有",rows,"行",columns,"列")
- print(f"sh1.name这个表有rows行columns列")
- print("%s这个表有%d行%d列" %(sh1,rows,columns))
-
-
- #sheet1=sheetname[0]
- #print(sheet1)
-
- #获得sheet内的内容
- #sheet1_data=sheet1.sheet_by_name("sheet101")
- #print(sheet1.data.name)
- #print(f"表:{sheet1_data.name} \n 行数:" sheet1_data.nrows \n 列数:" sheet1_data.ncolumns)
-
-
-
- #关于xlrd,xlwt的格式设置,我觉得并不重要,需要用的时候再查把
