4.1 python xlwings选取单元格

要执行单元格的相关操作,首先需要选取单元格,在xlwings模块中的对应操作则是创建Range对象。Range对象代表一个单元格区域,其中包含一个或多个单元格。

4.1.1 range()函数–根据地址选取单元格区域

Sheet对象的range()函数用于根据指定的地址选取单元格区域,得到对应的Range对象,这是xlwings模块中创建Range对象最基本的方法。

  • 表达式.range(area):
  • area:要选取单元格区域的地址,可用多种格式给出
# 应用场景 选取工作表中的单元格和单元格区域
import xlwings as xw
app = xw.App(visible=False, add_book=False) # 启动excel程序
workbook = app.books.open("./example.xlsx") # 打开指定工作簿
worksheet = workbook.sheets['example'] #选取指定工作表
a = worksheet.range('A1') # 选取工作表中的单元格A1
b = worksheet.range(1,1) # 选取工作表第一行第一列的单元格,即单元格A1
c = worksheet.range('A12:D60') # 选取工作表中的区域A12:D60
d = worksheet.range((12,1),(60,4)) # 指定单元格左上角和右上角的单元格来指定区域,(12,1):A12,(60,4):D60
print(a)
print(b)
print(c)
print(d)
workbook.close()
app.quit()

4.1.2 expand()函数–扩展单元格区域

Range对象的expand()函数用于以一个单元格区域为起点,向指定的方向扩展单元格区域,直到遇到空白单元格为止。

  • 表达式.expand(mode):
  • mode:如果参数值为table或者省略,表示向右下扩展单元格区域,如果参数为down,表示向下扩展单元格区域,如果参数为right,表示向右扩展单元格区域。
# 选取含有数据的一行、一列和整个区域
import xlwings as xw
app = xw.App(visible=False, add_book=False) # 启动excel程序
workbook = app.books.open("./example.xlsx") # 打开指定工作簿
worksheet = workbook.sheets['example'] #选取指定工作表
area1 = worksheet.range('A1').expand('right') # 从A1开始向右扩展
area2 = worksheet.range('A1').expand('down') # 从A1开始向下扩展
area3 = worksheet.range('A1').expand('table') # 从A1开始向右下角扩展
print(a)
print(b)
print(c)
print(d)
workbook.close()
app.quit()

4.1.3 resize()函数–调整单元格区域大小

  • 表达式:resize(row_size,column_size):
  • row_size:指定单元格区域的行数
  • column_size:指定单元格区域的列数
import xlwings as xw
app = xw.App(visible=False, add_book=False) # 启动excel程序
workbook = app.books.open("./example.xlsx") # 打开指定工作簿
worksheet = workbook.sheets['example'] #选取指定工作表
area1 = worksheet.range('A12:D60') # 选取工作表中的区域A12:D60
area2= area1.resize(row_size=5, column_size=3)
workbook.close()
app.quit()

4.1.4 offset()函数–偏移单元格区域

Range()对象的offset()函数用于将已有的单元格区域向指定的方向偏移一定的行数和列数,返回一个新的Range对象

  • 表达式.offset(row_offset, column_offset)
  • row_offset, column_offset:分别用于指定偏移的行数和列数,正数表示向下/向右偏移,负数表示向上/向左偏移,0或者省略表示不偏移。

4.1.5 current_region属性–选取单元格所在的当前区域

  • 表达式.current_region
import xlwings as xw
app = xw.App(visible=False, add_book=False) # 启动excel程序
workbook = app.books.open("./example.xlsx") # 打开指定工作簿
worksheet = workbook.sheets['example'] #选取指定工作表
cell = worksheet.range('C20').current_region
print(cell)
workbook.close()
app.quit()

last_cell属性–选取单元格区域的最后一个单元格

  • 表达式.last_cell

rows和columns属性–选取单元格区域的某行和某列

# 应用场景,从指定单元格区域中选取单行和单列
import xlwings as xw
app = xw.App(visible=False, add_book=False) # 启动excel程序
workbook = app.books.open("./example.xlsx") # 打开指定工作簿
worksheet = workbook.sheets['example'] #选取指定工作表
rng = worksheet.range('A1:E5')
rng_row = rng.rows[3]
rng_column = rng.columns[2]
print(rng_row)
print(rng_column)
workbook.close()
app.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值