DAY 07 总结

该文详细介绍了如何使用Python的openpyxl库进行Excel文件的读取和写入操作,包括读取工作簿、工作表、行、列和单元格数据,以及创建新工作表、修改单元格内容和保存文件的方法。此外,还展示了如何将数据写入Excel表格的示例。
摘要由CSDN通过智能技术生成

DAY 07 openpyxl操作Excel文件

一 . openpyxl读excel文件

注意 : openpyxl 这个第三方库只能操作后缀 . xlsx的Excle文件

1.工作簿(WorkBook),一个excel文件就是一个工作簿
2.工作表(Sheet),数据是以单元格为单位保存到工作表中 ,一个工作簿中有多个工作表
3.行和行号
4.列和列号
5.单元格(Cell) ,工作表中的每一个格子

import openpyxl (固定)

  1. 打开Excel文件 ,获得一个工作簿对象

    (1) openpyxl.open(excel文件路径)

    (2) openpyxl.open(excel文件路径)

    wb = openpyxl.open("excel文件路径")
    
  2. 获取工作簿中所有工作簿的表名

工作簿对象 . sheetnames

  1. 获取工作表

(1) 工作簿对象 . active - 获取当前Excle文件中的活跃表(被选中的那张表)

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

例
sheet1 = wb.active
print(sheet1)

sheet2 = wb['原始数据']
print(sheet2)
  1. 获取最大行数和列数

(1) 工作表.max_row --获取指定工作表中的最大行数

(2) 工作表.max_column --获取指定工作表中的最大列数

m_r = sheet1.max_row
m_c = sheet2.max_column
print(m_r, m_c)
  1. 获取单元格

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

  1. 获取单元格中的内容

单元格 . value

二 . 灵活获取excle文件中的数据

import openpyxl
wb = openpyxl.load_workbook('数据')
sheet = wb['原始数据']
例. 获取每个学生的所有成绩
# for row in range(1,sheet.max_row+1):
#     for col in range(1, sheet.max_column + 1):
#         cell = sheet.cell(row, col)
#         print(cell.value)

三 . excel写操作

import openpyxl
  1. 创建工作簿(新建excel文件)
wb = openpyxl.Workbook()
wb1 = openpyxl.load_workbook('文件路径')
  1. 新建工作表

① 使用默认的名字新建工作表 (默认新建到最后)

sheet1 = wb.create_sheet()

② 使用默认的名字新建工作表 (默认新建到最后)

sheet2 = wb.create_sheet('自己定名字')

③ 在指定位置前插入指点名字工作表

sheet3 = wb.create_sheet('自己定名字',0)

④ 在已经存在的工作簿中新建表

if '自己定名字' in wb1.sheetnames:
    sheet4 = wb1.create_sheet('')
  1. 删除工作表

工作簿 . remove(工作表对象)

  1. 修改单元格内容

单元格对象.value = 数据

#1)增加内容
sheet5.cell(1, 6).value = '平均分'
#2)修改内容
sheet5.cell(6, 2).value = '缺考'
#3)删除单元格内容
sheet5.cell(2, 2).value = None
  1. 对已修改的excel文件进行保存
wb.save('files/data2.xlsx')
wb1.save('files/data.xlsx')

小练习

data = [
    {'姓名': '李楠', '英语': 78, '办公软件操作': 96, '电子商务': 73, '计算机基础': 79},
    {'姓名': '方鹏', '英语': 63, '办公软件操作': 94, '电子商务': 91, '计算机基础': 78},
    {'姓名': '李磊', '英语': 89, '办公软件操作': 65, '电子商务': 0, '计算机基础': 0},
    {'姓名': '王小若', '英语': 81, '办公软件操作': 77, '电子商务': 73, '计算机基础': 80},
    {'姓名': '陈雨', '英语': 0, '办公软件操作': 87, '电子商务': 84, '计算机基础': 88},
    {'姓名': '石璐', '英语': 91, '办公软件操作': 95, '电子商务': 84, '计算机基础': 80},
    {'姓名': '张瑛', '英语': 73, '办公软件操作': 92, '电子商务': 92, '计算机基础': 89},
    {'姓名': '程晓', '英语': 80, '办公软件操作': 86, '电子商务': 0, '计算机基础': 0},
    {'姓名': '王丽', '英语': 72, '办公软件操作': 55, '电子商务': 88, '计算机基础': 70},
    {'姓名': '赵军力', '英语': 69, '办公软件操作': 69, '电子商务': 63, '计算机基础': 76},
    {'姓名': '王明', '英语': 96, '办公软件操作': 80, '电子商务': 85, '计算机基础': 64},
    {'姓名': '李丽', '英语': 64, '办公软件操作': 0, '电子商务': 74, '计算机基础': 86},
    {'姓名': '张帆', '英语': 72, '办公软件操作': 64, '电子商务': 97, '计算机基础': 74},
    {'姓名': '张珊珊', '英语': 60, '办公软件操作': 95, '电子商务': 69, '计算机基础': 61},
    {'姓名': '刘丽丽', '英语': 78, '办公软件操作': 93, '电子商务': 81, '计算机基础': 0},
    {'姓名': '石节庆', '英语': 62, '办公软件操作': 63, '电子商务': 64, '计算机基础': 70},
    {'姓名': '路瑶', '英语': 0, '办公软件操作': 0, '电子商务': 0, '计算机基础': 63},
    {'姓名': '李贵明', '英语': 84, '办公软件操作': 90, '电子商务': 87, '计算机基础': 99}
]
# 创建excel文件叫 : python数据分析.xlsx
# 在新excel文件中新建一张表:学生信息
# 将上面的数据以下面的形式写到到 学生信息  表中
# 1. 如果对应的excel文件已经存在就打开这个文件,不存在就创建
if os.path.isfile('files/python数据分析.xlsx'):
    wb = openpyxl.load_workbook('files/python数据分析.xlsx')
else:
    wb = openpyxl.Workbook()
# 2.如果学生信息表已经存在就获取这个表,如果不存在就创建这个表
if '学生信息' in wb.sheetnames:
    stu_sheet = wb['学生信息']
else:
    stu_sheet = wb.create_sheet('学生信息')
# 3.将数据写入到表中
# 1)将表头(第一行内容写入到工作表中)
col = 1
for key in data[0]:
    # print(key, col)
    stu_sheet.cell(1, col).value = key
    col += 1
# 2)从第二行开始写入所有的学生信息
row = 2
for stu in data:
    col = 1
    for key in stu:
        stu_sheet.cell(row, col).value = stu[key]
        col += 1
    row += 1
# 保存数据
wb.save('files/python数据分析.xlsx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值