0
点赞
收藏
分享

微信扫一扫

openpyxl库-Quick Start

有态度的萌狮子 2021-09-28 阅读 40

关键词:python、openpyxl、excel

openpyxl介绍

在我们平常做自动化,实现数据驱动的时候,经常需要使用excel完成数据的载体,使用python操作excel就显得尤为重要。
openpyxl库是python专门处理excel的库,支持2010之后的excel格-式,如xlsx,但是不支持xls格式。也是同时支持读和写的库,操作方便。
本文介绍openpyxl的快速使用。

安装

pip install openpyxl

概念

工作簿 (bu)(workboot):所谓的工作簿就是excel文件
工作表 (sheet):参考如下截图,有三个sheet,分别是登录,注册、Sheet3


单元格 (cell):略

常用操作

读取excel

import openpyxl

"""读取excel"""
#文件必须是xlxs格式,load_workbook默认以可读可写方式打开文件,返回workbook对象
wb=openpyxl.load_workbook('case.xlsx')

工作表操作

"""工作表操作"""
#获取所有的工作表,返回列表
sheets=wb.sheetnames
print(sheets)

#获取指定的工作表
sheet=wb['登录']
print(sheet.title)  #title属性,返回工作表的名称

#active获取当前打开激活的工作表
sheet=wb.active
print(sheet.title)  #title属性,返回工作表的名称

单元格操作

"""单元格操作"""
#way1:sheet[列行名],返回cell对象
#注意:数字返回整形,其它均返回字符串
cell=sheet['A2']  #返回cell对象
print(cell.value)
print(type(cell.value))
cell=sheet['B2'] #返回cell对象
print(type(cell.value))

#way2:sheet.cell(row,column)获取cell
a2=sheet.cell(2,1)
print(a2.value) #返回单元格的值
print(type(a2.value)) #返回单元格的值的类型
print(a2.row,a2.column) #返回单元格对应的行或者列

b2=sheet.cell(2,2)
print(b2.value) #返回单元格的值
print(type(b2.value)) #返回单元格的值的类型
print(b2.row,b2.column)#返回单元格对应的行或者列

行和列的遍历

"""
行和列的遍历
"""
#生成器遍历
# sheet.rows是行的生成器,每一行是一个元祖
# sheet.columns是列的生成器,每一列是一个元祖
for row in sheet.rows:
    for cell in row:
        print(cell.value)
for column in sheet.columns:
    for cell in column:
        print(cell.value)

#对特定的行遍历,生成器需转换成列表
for cell in list(sheet.rows)[0]:#对第一行遍历
    print(cell.value)

# 对某一单元格范围内进行遍历
for spaces in sheet['A1':'B2']:
    for cell in spaces:
        print(cell.value)

获得最大行和最大列

"""获取最大行,最大列"""
print(sheet.max_row)
print(sheet.max_column)

写入保存

"""写入单元格,写完之后一定要保存"""
f2=sheet.cell(row=2,column=6)
print(f2.value)
f2.value='test' #直接赋值就是写入
wb.save('case.xlsx')  #同名就保存,不同名就另存为

"""写入一行或者多行"""
row=[1,2,3,4,5]
sheet.append(row)
wb.save('case.xlsx')
举报

相关推荐

0 条评论