day07openpyx操作excel文件

openpyxl操作excel文件

没办法对已经存在的excel文件进行修改

openpyxl这个第三方库只能操作后缀.xlsx 的Excel文件,使用前提需要导入openpyxl包

一. Excel相关的基本概念

  • 工作簿:一个Excel文件就是一个工作簿
  • 工作表:数据是以单元格为单位保存到工作表中的,一个工作簿中可能多个工作表,至少一个
  • 行:一行数据又叫一条记录
  • 单元格:工作表中的每一个格子
import openpyxl
1. 打开Excel文件,获得一个工作簿对象,以下两种方式均可
# 1).openpyxl.open(excel文件路径)
# 2).openpyxl.load_workbook()
wb = openpyxl.open('./files/data.xlsx')
2. 获取工作簿所有工作表的表名
# 工作簿对象.sheetnames
name = wb.sheetnames
print(name)
3. 获取工作表
# 1)工作簿对象.active    -   获取当前Excel文件中的活跃表(被选中的那张表)
sheet1 = wb.active   # 不是很常用
print(sheet1)
# 2)工作簿对象[表名]   -   获取指定表名对应的工作表
sheet2 = wb['原始数据']
print(sheet2)
4. 获取最大行数和列数(有数据的部分对应的最大行数和列数)
# 工作表.max_row   -   获取指定工作表中的最大行数
# 工作表.max_column    -   获取指定工作表中的最大列数
m_r = sheet1.max_row
m_c = sheet1.max_column
print(m_r, m_c)
5. 获取单元格
# 工作表.cell(行号, 列号)
cell1 = sheet1.cell(2, 1)
cell2 = sheet1.cell(19, 3)
6.获取单元格中内容
# 单元格.value
print(cell1.value, cell2.value)

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

import openpyxl

wb = openpyxl.load_workbook('files/data.xlsx')
sheet = wb['原始数据']
sheet = wb.active

1.获取指定行所有数据
row = 3
for col in range(1, sheet.max_column+1):
    cell = sheet.cell(row, col)
    print(cell.value)
2.获取第二列所有的数据
col = 2
for row in range(1, sheet.max_row+1):
    cell = sheet.cell(row, col)
    print(cell.value)
3.获取每个学生的所有成绩
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)
以下为练习
4.获取每个学生的所有成绩,保存到一个列表中,列表中的元素是字典
# 例如:[{'姓名': '李楠', '英语':70, '办公软件操作':96, '电子商务’:73,'计算机基础':79}]
all_students = []   # 定义一个空列表
for row 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值