Python自动化办公 - 对Excel表格的操作(openpyxl的基本使用)

添加链接描述
摘要由CSDN通过智能技术生成

素材、笔记文档下载

1 安装openpyxl

Windows用户打开命令行输入:pip install openpyxl

Mac用户打开终端/Terminal输入:pip3 install openpyxl

2 创建新的表格

2.1 创建一个工作簿

from openpyxl import Workbook # 引入openpyxl模块,可以创建xls或者xlsx文件

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active
sheet.title = '表格1'
workbook.save(filename='写入表格.xlsx')

2.2 对表格对象的一些操作

2.2.1 新建工作表

create_sheet()方法返回一个新的表格对象

index和title参数,指定新工作表的索引及名称

from openpyxl import load_workbook

workbook = load_workbook(filename="写入表格.xlsx")
sheet = workbook.active
# 使用工作簿对象创建一个新的表格,表格名称为表格2
workbook.create_sheet(index=None,title='表格2')
print(workbook.sheetnames)

index:整数类型,设置新工作表索引,默认为None即放在最后,如果设置为0,则表格放置在最前。

title:字符串类型,设置新工作表名称,如果新工作表名称已存在,新工作表名称会自动变为title1。

2.2.2 删除工作表

remove()方法中接收一个表格对象而不是表格名称的字符串。需要具象化表名。

from openpyxl import load_workbook

workbook = load_workbook(filename="写入表格.xlsx")
sheet = workbook['表格2']
workbook.remove(sheet)
# workbook.remove(workbook['表格2'])
print(workbook.sheetnames)
workbook.save(filename='写入表格.xlsx')

2.2.3 复制工作表

workbook.copy_worksheet(sheet)

from openpyxl import load_workbook

workbook = load_workbook(filename="写入表格.xlsx")
sheet = workbook.active
sheet = workbook['表格1']
workbook.copy_worksheet(sheet)
print(workbook.sheetnames)
workbook.save(filename='写入表格.xlsx')

2.2.4 修改工作表名

sheet.title = ‘工作表名’

from openpyxl import load_workbook

workbook = load_workbook(filename="写入表格.xlsx")
sheet = workbook.active
sheet = workbook['表格1 Copy']
sheet.title = '表格3'
print(workbook.sheetnames)
workbook.save(filename='写入表格.xlsx')

3 读取表格内容

3.1 获取工作簿对象

openpyxl.load_workbook()方法可以接收多个参数进行读取

from openpyxl import load_workbook

wb = openpyxl.load_workbook(filename='写入表格.xlsx', read_only=False, keep_vba=False, data_only=False, keep_links=True)
print(wb.sheetnames)

filename:字符串类型,读取Excel文件的文件路径,可使用相对路径或是绝对路径。

read_only:布尔类型,选择只读模式或是读写模式,若想写入公式及重新获取结果,需要用将这个模式关闭。默认为False。

keep_vba:布尔类型,保留vba内容(这并不意味着可以使用它),默认为False。

data_only:布尔类型,如果设置为True则包含公式的单元格,显示最近计算结果或是None,如果设置为False 则单元格显示公式,默认为False。

keep_links:布尔类型,是否保留指向外部工作簿的链接。默认为True。

3.2 获取工作表对象

3.2.1 获取工作薄所有工作表名称

load_workbook(filename=“表格文件路径”) #若是绝对路径直接写文件名。

sheetnames属性可以取得工作簿中所有表名,返回为一个列表。

from openpyxl import load_workbook

fileName = "写入表格.xlsx"
wb = load_workbook(filename = fileName)
print(wb.sheetnames)

3.2.2 选中需要操作的工作表

sheet = wb.active # 获取工作簿中的当前活动表

sheet = wb[‘工作表名称’] # 通过工作表名称选中的工作表

sheet.title # 获取活动表的表名称

# 获取上次关闭表格前激活的表格名称
from openpyxl import load_workbook
fileName = "写入表格.xlsx"
wb = load_workbook(filename = fileName)                                           
sheet = wb.active                                    
print(sheet.title)                                              
# 获取特定表的表名称
from openpyxl import load_workbook
fileName = "写入表格.xlsx"
wb = load_workbook(filename = fileName)
sheet = wb['Sheet2'] 
print(sheet.title)        

3.2.3 获取表格范围

获取表格:workbook[sheet名称]

获取表格的尺寸大小:sheet.dimensions(表格存在数据的大小)

单独获取最大行:sheet.max_row
单独获取最大列:sheet.max_column

from openpyxl import load_workbook   
                                     
workbook = load_workbook(filename="46
sheet = workbook['Booklist 12-26']   
print("表格范围是:",sheet.dimensions)     
print("最大行数是:", sheet.max_row)       
print("最大列数是:", sheet.max_column)    

输出结果:

表格范围是: A1:E4693
最大行数是: 4693
最大列数是: 5

3.3 获取单元格对象

3.3.1 获取单元格的某些属性

.row 行数

.column 列数

.coordinate 坐标

from openpyxl import load_workbook                  
                                                    
workbook = load_workbook(filename="4600本书单名.xlsx")  
sheet = workbook.active                             
cell = sheet['A5']                                  
print("单元格的行号:
  • 7
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值