Python——xlwings基本使用
Xlwings
- 支持xlx、xlxs格式
- 与其他库对比
- xlwings逻辑表
- 使用
应用->工作簿->工作表->范围
- 应用:一个应用(一个xlwings程序)
- 工作簿(book)
- 工作表(sheet)
- 范围:行列
1、写入Excel
import xlwings as xw
# 创建一个实例app
app = xw.App();
# 工作簿
wb = app.books.add();
# 工作表
sht = wb.sheets['sheet1'];
# 范围
sht.range('a1').value = '我是a1';
sht.range('a2').value = '我是a2';
# 保存
wb.save('demo1.xlsx');
# 关闭
wb.close();
app.quit();
记得写入完成后保存文件、关闭文件并关闭应用
这里默认打开两个excel,如果指向打开一个需要添加一个设置,在创建App时不允许添加
app = xw.App(add_book=False);
如果不想看到Excel写入过程可以添加一个不可见
app = xw.App(visible=False);
完整写法为
app = xw.App(add_book=False,visible=False);
sheets后面跟的时[],而range后面时()
保存文件时需要加上后缀
2、写入常规操作
2.1 指定单元格操作
sht.range('a1').value = '我是a1';
2.2 写入一行
sht.range('c4').value = [0,1,2,3,4]
# 等效于
sht.range('c4:g4').value = [0,1,2,3,4]
列表插入默认插入一行
2.3 插入一列
sht.range('c5').options(transpose=True).value = [1,2,3,4]
2.4 插入行列范围
sht.range('d7').value = [[1,2],[3,4]]
这里采用二维列表
3、读Excel操作
app = xw.App(visible=True,add_book=False)
wb = app.books.open('demo22.xlsx')
sht = wb.sheets['sheet1']
# 读取指定单元格
print('读取指定单元格')
print(sht.range('a1').value)
# 读取一行
print('读取一行')
print(sht.range('c4:g4').value)
# 读取一列
# 读取一列时不需要加转置操作
print('读取一列')
print(sht.range('c5:c8').value)
# 读取行列(范围)
print('读取行列')
print(sht.range('d7:e8').value)