引入
在学习Python的过程中,你可能遇到这样的需求,想把你的配置或者数据保存在Excel表格中,然后在程序运行的时候进行读取,这样就可以实现数据分离。那么,你可能就需要用到openpyxl模块了。除了openpyxl模块,你还可以用xlrd和xlwt对Excel文件进行操作,只不过xlrd和xlwt是对xls格式的Excel进行操作,而openpyxl是对xlsx的格式进行操作。
安装
openpyxl作为python的扩展库,使用pip命令安装即可。
pip install openpyxl
使用
首先,必不可少的也是最重要的哈,导入openpyxl包
读取Excel文件
准备工作:新建testOpenpyxl.xlsx文件;建立两个sheet页:Sheet1和Sheet2;分别填写以下内容:
1.获得Workbook对象:openpyxl调用load_workbook(),传入xlsx文件的名称(路径)。除此以外你还可以设定只读:read_only=True或只写:write_only=True。
workbook=openpyxl.load_workbook('testOpenpyxl.xlsx')
2.获取所有sheet页的名称:Workbook对象调用get_sheet_names()方法,返回值是一个由sheet页名称组成的列表。
allsheets=workbook.get_sheet_names()
print(allsheets)
3.根据sheet页名称获得某个Worksheet对象:Workbook对象调用get_sheet_by_name()方法,传入sheet页名称。
sheet1=workbook.get_sheet_by_name('Sheet1')
print(sheet1.title)
4.获得当前所在的sheet页对象(打开xlsx文件时默认在的sheet页):Workbook对象调用active属性或get_active_sheet()方法。
sheet1=workbook.active
print(sheet1.title)
sheet2=workbook.get_active_sheet()
print(sheet2.title)
如下:因为我是打开sheet2关闭的Excel表格,所以再次打开表格默认的应该是在sheet2页。
5.获得某个sheet页中的最大行数和最大列数:Worksheet对象调用max_row属性和max_column属性。
print(sheet1.max_row,'-----',sheet1.max_column)
6.获取sheet页中某个cell对象:Worksheet对象当做字典取值,传入的是“列行”格式的键;或Worksheet对象调用cell()方法,传入两个参数分别代表第几行和第几列。cell对象的column属性代表该单元格的列;row属性代表行;value代表值。
cell=sheet1['B1']
print