- xlwings基本对象
App相当于Excel程序,Book相当于工作簿。N个Excel程序则由apps表示,N个工作簿由books表示。
- 对工作簿的操作
#导入xlwings模块 import xlwings as xw #新建工作簿,这里默认为新建了一个App,即打开Excel程序,并新建一个工作簿 xw.Book() #引用工作簿 xw.Book('工作簿3') # 引用工作簿也可以用books xw.books['工作簿3’] #打开已有工作簿 xw.Book(r'e:myworkbook.xlsx')
- 对sheet以及Range的操作
import xlwings as xw wb=xw.Book() # 引用名字为"sheet2"的sheet sht=wb.sheets['sheet2'] # 引用"sheet2"中的B1单元格 rng=sht.range('B1') # 将B1单元格的值改为666 rng.value=666
数据结构
- 一维数据
python的列表,可以和Excel中的行列进行数据交换,python中的一维列表,在Excel中默认为一行数据import xlwings as xw sht=xw.sheets.active # 将1,2,3分别写入了A1,B1,C1单元格中 sht.range('A1').value=[1,2,3] # 将A1,B1,C1单元格的值存入list1列表中 list1=sht.range('A1:C1').value # 将1,2,3分别写入了A1,A2,A3单元格中 sht.range('A1').options(transpose=True).value=[1,2,3] # 将A1,A2,A3单元格中值存入list1列表中 list1=sht.range('A1:A3').value
- 二维数据
python的二维列表,可以转换为Excel中的行列。二维列表,即列表中的元素还是列表。在Excel中,二维列表中的列表元素,代表Excel表格中的一列。例如:# 将a1,a2,a3输入第一列,b1,b2,b3输入第二列 list1=[[‘a1’,'a2','a3'],['b1','b2','b3']] sht.range('A1').value=list1
# 将A1:B3的值赋给二维列表list1 list1=sht.range('A1:B3‘).value
- Excel中区域的选取表格
# 选取第一列 rng=sht. range('A1').expand('down') rng.value=['a1','a2','a3']
# 选取第一行 rng=sht.range('A1').expand('right') rng=['a1','b1']
# 选取表格 rng.sht.range('A1').expand('table') rng.value=[[‘a1’,'a2','a3'],['b1','b2','b3']]
结束
- 本文首先简单介绍了,通过Python运用xlwings模块,对Excel工作簿、工作表和单元格的操作。
- 再介绍了xlwings,如何对Excel表格的行和列写入和引用数据
- 通过二维或者一维列表对Excel工作表的数据进行写入或者引用,既简化了代码,也提高了程序的效率。因为python读写Excel表格的速度,原小于python程序自身的运行速度。
作者:LuckyFrog
链接:http://www.jianshu.com/p/de7efe591c12
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。