pythonxlwings使⽤说明_xlwings使⽤教程
(⼀)
python操作Excel的模块,⽹上提到的模块⼤致有:xlwings、xlrd、xlwt、openpyxl、pyxll等,他们提供的功能归纳起来有两种:⼀、⽤python读写Excel⽂件,实际上就是读写有格式的⽂本⽂件,操作excel⽂件和操作text、csv⽂件没有区别,Excel⽂件只是⽤来储存数据。⼆、除了操作数据,还可以调整Excel⽂件的表格宽度、字体颜⾊等。另外需要提到的是⽤COM调⽤Excel的API操作Excel⽂档也是可⾏的,相当⿇烦基本和VBA没有区别。
xlwings官⽹.png
xlwings的特⾊
xlwings能够⾮常⽅便的读写Excel⽂件中的数据,并且能够进⾏单元格格式的修改
可以和matplotlib以及pandas⽆缝连接
可以调⽤Excel⽂件中VBA写好的程序,也可以让VBA调⽤⽤Python写的程序。
开源免费,⼀直在更新
基本操作
xlwings基本对象
打开已保存的Excel⽂档
# 导⼊xlwings模块,打开Excel程序,默认设置:程序可见,只打开不新建⼯作薄,屏幕更新关闭
import xlwings as xw
app=xw.App(visible=True,add_book=False)
app.display_alerts=False
app.screen_updating=False
# ⽂件位置:filepath,打开test⽂档,然后保存,关闭,结束程序
filepath=r'g:\Python Scripts\test.xlsx'
wb=app.books.open(filepath)
wb.save()
wb.close()
app.quit()
新建Excel⽂档,命名为test.xlsx,并保存在D盘。
import xlwings as xw
app=xw.App(visible=True,add_book=False)
wb=app.books.add()
wb.save(r'd:\test.xlsx')
wb.close()
app.quit()
在单元格输⼊值
新建test.xlsx,在sheet1的第⼀个单元格输⼊ “⼈⽣” ,然后保存关闭,退出Excel程序。
import xlwings as xw
app=xw.App(visible=True,add_book=False)
wb=app.books.add()
# wb就是新建的⼯作簿(workbook),下⾯则对wb的sheet1的A1单元格赋值
wb.sheets['sheet1'].range('A1').value='⼈⽣'
wb.save(r'd:\test.xlsx')
wb.close()
app.quit()
打开已保存的test.xlsx,在sheet2的第⼆个单元格输⼊“苦短”,然后保存关闭,退出Excel程序
import xlwings as xw
app=xw.App(visible=True,add_book=False)
wb=app.books.open(r'd:\test.xlsx')
# wb就是新建的⼯作簿(workbook),下⾯则对wb的sheet1的A1单元格赋值
wb.sheets['sheet1'].range('A1').value='苦短'
wb.save()
wb.close()
app.quit()
掌握以上代码,已经完全可以把Excel当作⼀个txt⽂本进⾏数据储存了,也可以读取Excel⽂件的数据,进⾏计算后,并将结果保存在Excel 中。
引⽤⼯作簿、⼯作表和单元格
引⽤⼯作簿,注意⼯作簿应该⾸先被打开
wb.=xw.books['⼯作簿的名字‘]
引⽤活动⼯作簿
wb=xw.books.active
引⽤⼯作簿中的sheet
sht=xw.books['⼯作簿的名字‘].sheets['sheet的名字']
# 或者
python入门教程appwb=xw.books['⼯作簿的名字']
sht=wb.sheets[sheet的名字]
引⽤活动sheet
sht=xw.sheets.active
引⽤A1单元格
rng=xw.books['⼯作簿的名字‘].sheets['sheet的名字']
# 或者
sht=xw.books['⼯作簿的名字‘].sheets['sheet的名字']
rng=sht.range('A1')
引⽤活动sheet上的单元格
# 注意Range⾸字母⼤写
rng=xw.Range('A1')
其中需要注意的是单元格的完全引⽤路径是:
# 第⼀个Excel程序的第⼀个⼯作薄的第⼀张sheet的第⼀个单元格xw.apps[0].books[0].sheets[0].range('A1')
迅速引⽤单元格的⽅式是
sht=xw.books['名字'].sheets['名字']
# A1单元格
rng=sht[’A1']
# A1:B5单元格
rng=sht['A1:B5']
# 在第i+1⾏,第j+1列的单元格
# B1单元格
rng=sht[0,1]
# A1:J10
rng=sht[:10,:10]
PS: 对于单元格也可以⽤表⽰⾏列的tuple进⾏引⽤
# A1单元格的引⽤
xw.Range(1,1)
#A1:C3单元格的引⽤
xw.Range((1,1),(3,3))
储存数据
储存单个值
# 注意".value“
sht.range('A1').value=1
储存列表
# 将列表[1,2,3]储存在A1:C1中
sht.range('A1').value=[1,2,3]
openstack与虚拟化的关系# 将列表[1,2,3]储存在A1:A3中
sht.range('A1').options(transpose=True).value=[1,2,3]
# 将2x2表格,即⼆维数组,储存在A1:B2中,如第⼀⾏1,2,第⼆⾏3,4
sht.range('A1').options(expand='table').value=[[1,2],[3,4]]
读取数据
读取单个值linux系统查看系统版本
# 将A1的值,读取到a变量中
a=sht.range('A1').value
将值读取到列表中
#将A1到A2的值,读取到a列表中
a=sht.range('A1:A2').value
# 将第⼀⾏和第⼆⾏的数据按⼆维数组的⽅式读取
a=sht.range('A1:B2').value
(⼆)
在上⼀篇插上翅膀,让Excel飞起来——xlwings(⼀)中提到利⽤xlwings模块,⽤python操作Excel有如下的优点:xlwings能够⾮常⽅便的读写Excel⽂件中的数据,并且能够进⾏单元格格式的修改
可以和matplotlib以及pandas⽆缝连接
可以调⽤Excel⽂件中VBA写好的程序,也可以让VBA调⽤⽤Python写的程序。
开源免费,⼀直在更新
本⽂紧接着上⽂介绍了xlwings模块⼀些常⽤的api
xlwings基本对象
常⽤函数和⽅法
Book ⼯作簿常⽤的api
wb=xw.books[‘⼯作簿名称']
wb.activate()激活为当前⼯作簿
wb.fullname 返回⼯作簿的绝对路径
wb.name 返回⼯作簿的名称
wb.save(path=None) 保存⼯作簿,默认路径为⼯作簿原路径,若未保存则为脚本所在的路径
-wb. close() 关闭⼯作簿
代码例⼦:
# 引⽤Excel程序中,当前的⼯作簿
wb=xw.books.acitve
# 返回⼯作簿的绝对路径
jdk8x=wb.fullname
# 返回⼯作簿的名称
x=wb.name
# 保存⼯作簿,默认路径为⼯作簿原路径,若未保存则为脚本所在的路径
x=wb.save(path=None)
# 关闭⼯作簿
x=wb.close()
sheet 常⽤的api
# 引⽤某指定sheet
sht=xw.books['⼯作簿名称'].sheets['sheet的名称']
# 激活sheet为活动⼯作表
sht.activate()
# 清除sheet的内容和格式
sht.clear()nginx 翻译多语言
# 清除sheet的内容
# 获取sheet的名称
sht.name
# 删除sheet
sht.delete
range常⽤的api
# 引⽤当前活动⼯作表的单元格
rng=xw.Range('A1')
# 加⼊超链接
# rng.add_hyperlink(r'www.baidu','百度',‘提⽰:点击即链接到百度') # 取得当前range的地址
轮播照片墙怎么做
rng.address
<_address()
# 清除range的内容
rng.clear_contents()
# 清除格式和内容
rng.clear()
# 取得range的背景⾊,以元组形式返回RGB值
# 设置range的颜⾊
# 清除range的背景⾊
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论