一、xlwings模块
1、打开工作簿、读取第一张工作表
wb = app.books.open('表.xls')
ws = wb.sheets[0]
2、新建工作表、复制工作表
wb.add(name='xx表',after=ws)——在ws工作表后新建一个xx表
ws.copy(before=ws,name='xx表')——在复制ws工作表在ws工作表之前,重命名xx表(也可以跨工作簿操作,实现了移动工作表)
3、删除工作表、行、列
ws.delete()——删除工作表ws
ws['1:8'].delete()——删除第一行到第八行
ws['B:C'].delete()——删除B到C列
4、区域选择
(1)单元格范围选取:range
(2)扩展单元格区域:expand('right/down/table')
(3)选取单元格某行/某列区域:rows/columns
(4)单元格行号/列号:row/column
(5)区域个数:count
(6)获取区域地址:get_address
区域值:value(一个单元格返回值,多个单元格返回值组成的列表)
举例
(1)ws.range('A1').expand('table').rows[3].value ——代表ws工作表A1单元格向(table)右下角扩展区域,选取含有数据的区域第4行区域(rows[3])的单元格数据列表
(2)ws.range('A1').expand('right').columns.count——代表ws工作表A1单元格向(right)右扩展区域,选取含有数据区域的列数
(3)ws.range('A1').expand('down').last_cell.row——代表ws工作表A1单元格向(down)下扩展区域(last_cell)最后一个有数据的单元格的行号
(4)ws.range('A10:D20').get_address(row_absolute=True,column_aboslute=False,include_sheetname=True,external=False)——代表ws工作表单元格区域A10:D20返回行表绝对引用,带有工作表名的地址,即A$10:D$20
5、其他
(1)单元格输入公式
单元格对象.formula = f'=(excel内部的函数公式例如:sum)'
(2)自动调整列宽和行高
ws.autofit(省略/'r'/'c')——自动调整行高列宽/行高/列宽
二、3X模块
1、打开工作簿和读取第一张工作表
wb = xlrd.open_workbook('表.xls')
ws = wb.sheet_by_name('第一张表名')
或ws = wb.sheets()[0]
或ws = wb.sheet_by_index(0)
三、 openpyxl
1、打开工作簿和读取第一张工作表
wb = openpyxl.load_workbook('表.xls') ——读取
ws = wb.worksheets[0]
或ws = wb['第一张表名']