day07openpyxl操作excel

该文介绍了如何使用Python库openpyxl进行Excel文件的操作,包括读取工作簿和工作表,获取最大行数和列数,访问单元格内容。同时,文章还展示了如何创建新的Excel文件,修改单元格数据,以及设置单元格的字体、填充和边框样式。
摘要由CSDN通过智能技术生成

day7openpyxl操作excel

01excel文件读操作

1.excel相关的基本概念

1)工作簿(workbook):一个excel文件就是一个工作簿

2)工作表(sheet):工作簿是工作簿的基本单位,每个工作簿至少要一个工作表

3)单元格(cell):工作表中每一个用来保存数据的格子就是单元格

4)行号(row):每一行前面的数字(从1开始)

5)列号(column):每一列上面的大写字母(也可以用数字1开头,表示列号)

import openpyxl
wb = openpyxl.load_workbook('files/example.xlsx')

2.获取工作簿所有的工作表的名字

names = wb.sheetnames
print(names)            # ['表1','Sheet1', '表2']

3.获取工作表

1)工作簿.active - 当前工作簿中的活跃表

sheet1 = wb.active
print(sheet1)

2)工作簿[表名] - 获取工作簿中指定表名对应的工作表

sheet2 = wb['表1']
print(sheet2)

4.获取最大行数和最大列数

1)工作表.max_row

2)工作表.max_column

m_r = sheet1.max_row
m_c = sheet1.max_column
print(m_r,m_c)

print(wb['Sheet1'].max_row,wb['Sheet1'].max_column)

5.获取单元格

工作表.cell(行号,列号)

cell1 = sheet2.cell(2,2)
cell2 = sheet2.cell(2,3)
cell3 = sheet2.cell(3,2)
print(cell1,cell2,cell3)

6.获取单元格中的内容

单元格.value

print(cell1.value)
print(cell2.value)
print(cell3.value)

02excel文件写操作

import openpyxl
import os

注意:excel文件相关任何写操作,只会在保存以后有效

1.新建Excel文件(新建工作簿)

  1. os.path.exists(文件或者文件夹路径) - 判断指定的文件或者文件夹是否存在
wb1 = openpyxl.Workbook()
  1. 保存文件
wb1.save('files/example2.xlsx')

案例:如果exampl3.xlsx文件不存在就创建,存在就打开

if os.path.exists('files/example3.xlsx'):
    wb2 = openpyxl.load_workbook('files/example3.xlsx')
else:
    wb2 = openpyxl.Workbook()
    wb2.save('files/example3.xlsx')

案例:如果teacher表不存在就创建,存在就获取teacher表

if 'teacher' in wb2.sheetnames:
    sheet3 = wb2['teacher']
else:
    sheet3 = wb2.create_sheet('teacher',0)

3.删除表

工作簿.remove(工作表)

if 'Sheet1' in wb2.sheetnames:
    wb2.remove(wb2['Sheet1'])

4.修改单元格内容

单元格.value = 数据

sheet3.cell(2,1).value = '小明'
sheet3.cell(1,3).value = 'Tel'
sheet3.cell(1,2).value = None
wb2.save('files/example3.xlsx')

03excel文件样式的修改

import openpyxl

wb = openpyxl.open('files/example3.xlsx')
sheet1 = wb['teacher']

1.设置行高和列宽

1)工作表.row_dimensions[行号].height = 高度

2)工作表.column_dimensions[列号].width = 宽度

sheet1.row_dimensions[1].height = 30
sheet1.column_dimensions['A'].width = 60

2.设置单元格字体样式

1)创建字体对象

from openpyxl.styles import Font
f1 = Font(
    name='黑体',
    size=15,
    color='CC00FF',
    strike=True,
    bold=True,
    italic=True,
    underline='single'
)

2)设置单元格字体

sheet1.cell(1,1).font = f1

3.设置填充样式

from openpyxl.styles import PatternFill

fill1 = PatternFill(
    fill_type='darkDown',
    start_color='FFFF00',
    end_color='FF0000'
)
sheet1.cell(1,2).fill = fill1

4.设置边框样式

from openpyxl.styles import Side,Border

1)创建边

s1 = Side(
    border_style='medium',
    color='ff0000'
)
s2 = Side(
    border_style='mediumDashDot',
    color='ffff00'
)

2)创建边框

b1 = Border(
    top=s1,
    bottom=s1,
    left=s1,
    right=s1
)
b2 = Border(
    top=s1,
    bottom=s2,
    left=s2,
    right=s1
)

3)设置单元格的边框

sheet1.cell(4,2).border = b1
wb.save('files/example3.xlsx')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jxaGURyu-1676524313042)(C:\Users\44913\AppData\Roaming\Typora\typora-user-images\image-20230216114008848.png)]

t=s1,
right=s1
)
b2 = Border(
top=s1,
bottom=s2,
left=s2,
right=s1
)


3)设置单元格的边框

```python
sheet1.cell(4,2).border = b1
wb.save('files/example3.xlsx')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值