建,读,存,基本操作
import xlwings as xw
#新建工作簿 方法一 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021040811264762.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FpclNjbw==,size_16,color_FFFFFF,t_70#pic_center)
app=xw.App(visible=True,add_book=False)
#保持APP一直存在
wb=app.books.add()
#打开已有工作簿
wb=app.books.open('1.xls')
#方法二
wb=xw.Book('1.xls')
#保存
wb.save('1.xls')
#退出工作簿
wb.close()
#退出excel
app.quit()
数据操作
import xlwings as xw
wb=xw.Book('1.xls')
#引用工作表
sht=wb.sheets[0]
#引用单元格
rng = sht.range('a1')
#第一行写入whathello
sht.range('a1').value='whathello'
#默认按行插入:A1:D1分别写入1,2,3,4
sht.range('a1').value=[1,2,3,4]
#等同于
sht.range('a1:d1').value=[1,2,3,4]
#按列插入
sht.range('a2').options(transpose=True).value=['','','',2]
#多行操作
sht.range('a1').expand('table').value=[['hello','well',2,5],['w','h','a','t'],['g','g','s',1]]
#多行读取4x4的数据
print(sht.range('a1:d4').value)
#读取第一列所有数据,遇到空数据会终止读取
rng=sht.range('a1').expand('table')
#获得行数并且遍历
nrows=rng.rows.count
a = sht.range(f'a1:a{nrows}').value
#获取列数
ncols=rng.columns.count
fst_col = sht[:,:].value
print(fst_col)
print(nrows,ncols)
wb.close()
#也可以用切片操作
print(sht[:,:].value);
插入操作
import xlwings as xw
wb=xw.Book()
sht=wb.sheets[0]
info_list = [['20190001','已揽收','凯撒邮局'],
['20190001','已发货','凯撒邮局'],
['20192288','已揽收','麻花镇邮局'],
['20192288','已发货','麻花镇邮局'],
['20192288','正在派送','阿里山']]
#写入表头
titles = [['包裹号','状态','地点']]
sht.range('a1').value=titles
#然后写入轨迹
sht.range('a2').expand('table').value=info_list
sht[1,:].api.Insert()
# sht.range('b1').options(transpose=True).value=['送件人','小刘','小红','小李']
wb.save('2.xls')
wb.close()
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/528c201d77a2ef0dc4d243f14fc2fc94.png#pic_center)