办公自动化 -- openpyxl基础使用

openpyxl基础语法

  • 安装 pip install openpyxl

openpyxl使用

导入

from openpyxl import Workbook

创建工作簿

## 创建工作簿
wb = Workbook() #创建工作簿,并自建了一个工作表
ws = wb.active  #获取当前工作簿中第一个工作表
wb.create_sheet('Mysheet1')     #默认名称为sheet1……递增,默认插入索引 --→ 插入到最后
ws2 = wb.create_sheet('Mysheet2',0)     #插到最前面

修改工作表名

## 修改工作表名
ws.title = 'New Title'  #修改ws工作表名为New Title

修改工作表按键颜色

# 修改工作表按键颜色
ws.sheet_properties.tabColor = '1072BA'

查看工作表名

## 查看工作表名
wb.sheetnames   # 查看工作簿的所有工作表,返回list
for sheet_name in wb.sheetnames :
    print('sheet_name')
'''
功能同上一个相同
for sheet in wb:
    print(sheet.title)
循环wb工作簿,遍历出每个工作表对象,通过title属性获取工作表名
'''

复制工作表

## 复制工作表
source = wb.active
target = wb.copy_worksheet(source)  #复制工作表
# 注意有的属性是不可复制的,比如excel表格中的图片或者图表都是不可复制的
# 工作表只在只读或者只写模式下打开,也是不可复制工作表的

访问单元格

## 访问单元格
ws['A1']    #可以直接通过工作表的键访问单元格
ws['A1'] = 'name'   #单元格A1赋值为name

通过方法赋值

## 通过方法赋值
# ws.cell??     jupyter中查询ws.cell的用法
ws.cell (row=15,colnum=1,value=5)   #A15赋值为5
# 即使不赋值,也会在内存中创建9*9单元
for x in range(1,10):
    for y in range(1,10):
        ws.cell(row=x,column=y,value=x)

访问多个单元格

## 访问多个单元格
cell_range = ws['A1':'C2']  #访问A1,B1,C1,A2,B2,C2
colC = ws['C']      #获取C列
col_range = ws['C:D']   #获取CD两列
row9 = ws[9]    #获取第9行
row_range = ws[5:9] #获取第5-9行
'''
row_range = ws.iter_rows(min_row=1,max_row=2,max_col=3)   #获取多行单元格
#list[row_range]
for row in row_range:   #先获取到1,2行对象
    for cell in row:    #再从1,2行对象遍历单元格
        print(cell)
'''
col_range = ws.iter_cols(min_row=1,max_row=2,max_col=3)
# list[col_range]
for col in col_range:
    for cell in col:
        print(cell)
# 注意ws.iter_cols()在只读模式下不可用
# 如果需要遍历所有文件的行或列
'''
ws.rows     #生成器
tuple(ws.columns)
'''
ws.columns	#列必须是columns
tuple(ws.columns)

访问单元格的值

## 访问单元格的值
ws.values   #获取ws对象中的单元格的值  生成器
for row in ws.values:
    for value in row:
        print(value)
row_range = ws.iter_rows(min_row=1,max_row=2,max_col=3,values_only=True)
for row in row_range:
    print(row)
# 注意:ws.iter_rows()有参数,values_only就只返回单元格的值

单元格赋值

## 单元格赋值
a1 = ws['A1']
a1.value    #获取A1的值
a1.value = 'hello world'    #需要将值赋给对象的value属性
a1.value    #获取A1重写后的值

保存工作簿

## 保存工作簿
wb.save('demo.xlsx')

加载文件

## 加载文件
from openpyxl import load_workbook
wb1 = load_workbook('text1.xlsx')
wb1.sheetnames
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值