xlwings简单使用
阅读原文时间:2023年07月09日阅读:1
  • xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改

xlwings基本操作

  1. 打开已有的Excel文档

# 导入xlwings模块

打开Excel程序,默认设置:程序可见,只打开不新建工作薄,屏幕更新关闭

import xlwings as xw
app=xw.App(visible=True,add_book=False)
app.display_alerts=False
app.screen_updating=False

打开文档,然后保存,关闭,结束程序

wb=app.books.open('data.xlsx')
wb.save()
wb.close()
app.quit()

   2.打开sheet页

sheet = wb.sheets['sheet1'] # 根据sheet页名称打开
sheet = wb.sheet[0] # 根据下标打开

   3.单元格赋值

# 单元格的引用

A1单元格

cell = sheet[’A1']

A1:B5单元格

cell = sheet['A1:B5']

对于单元格也可以用表示行列的tuple进行引用

A1单元格的引用

cell = sheet.Range(1,1)
#A1:C3单元格的引用
cell = sheet.Range((1,1),(3,3))

对单元格赋值

cell.value = 'xxxxx'

   4.单元格读取

# 读取单个值

将A1的值,读取到a变量中

a = sheet.range('A1').value
将值读取到列表中
#将A1到A2的值,读取到a列表中[]
b = sheet.range('A1:A2').value

将第一行和第二行的数据按二维数组的方式读取[[],[]]

c = sheet.range('A1:B2').value

   5.获取最大行数

# 获取汇总sheet的最大行数
def get_max_row():
max_row = sheet.used_range.last_cell.row
return max_row

  6.获取最大列数

# 获取最大列数
def get_max_column(self):
  max_column = self.sheet.used_range.last_cell.column
  return max_column

  7.查找包含某关键字的元素所在单元格

# 得到key_value元素所在行号
def get_row_num(key_value):
row_number = ''
# 迭代遍历每行
for row in range(1, sheet.get_max_row()):
# 给定的条件,读者可根据自身需求自定义
# 判断第 1 列的值 包含 key_value
if key_value in str(sheet.range(row, 1).value):
# 关键步骤!获得当前行的行号!
row_number = row
return row_number

   8.删除行操作

# 删除行
def delete_rows(start_row, end_row):
sheet.range(f'{start_row}:{end_row}').api.Delete()

   9.合并单元格

# 合并指定单元格
def together_cells(row_from, row_to):
sheet.range('A{}:A{}'.format(row_from, row_to)).api.Merge()

   10.插入空行

def insert_space_rows(idx):
sheet.api.Rows(idx).Insert()