python使用openpyxl模块操作excel

1. 使用openpyxl模块操作excel表格

excel表格有以下几个部分组成:

工作簿:workbook,即一个excel表格

表单:worksheet,如下图:

在这里插入图片描述

行(row)、列(column)、单元格(cell)

1.1 读取excel文件中的数据

  1. 导入openpyxl模块 import openpyxl

  2. 获取要读取excel文件,创建对象;

    wb = openpyxl.load_workbook(filename)

  3. 获取要读取的表单,创建对象 sheet = wb[sheetname]

  4. 查看单元格数据:

    # 打印单元格为A1的值
    print(sheet1['A1'].value)
    
    # 打印第一行第一列单元格的值
    print(sheet1.cell(row=1,column=2).value)
    
    # 依次打印每列的值
    col_range = sheet1['A:C']
    for col in col_range:
        for cell in col:
            print(cell.value)
    

其他读取操作:(可以对单元格进行切片操作)

# 查看excel表格下的表单名称,以列表形式打印
print(wb.sheetnames)

for sheet in wb:
    # 获取表单名称
    print(sheet.title)

# 获取excel表格中的活跃表单对象
ws_active = wb.active

B1 = sheet1['B1']
# 查看B1单元格的行号和列号
print('row is {},column is {},value is {}'.format(B1.row,B1.column,B1.value))

# coordinate属性表示单元格的位置
print('Cell {} is {} '.format(B1.coordinate,B1.value))

# 打印表单sheet1的中有效数据的行数和列数
print('{} * {}'.format(sheet1.max_row,sheet1.max_column))

# 将使用A、B、C...表示列的方法转化为使用数字表示,反过来也是如此
from openpyxl.utils import get_column_letter,column_index_from_string
print(get_column_letter(2),get_column_letter(100))
print(column_index_from_string('B'),column_index_from_string('CV'))
运行结果:
B CV
2 100

1.2 将数据写入excel文件(修改excel文件中的数据)

  1. 导入openpyxl模块,import openpyxl
  2. 获取要修改的文件,或创建一个空的文件,将数据写入
    1. 获取要修改的文件对象:wb = openpyxl.load_workbook(filename)
    2. 创建一个空的excel文件对象:wb = openpyxl.Workbook()
  3. 获取要修改的表单:sheet = wb[sheetname]
  4. 修改或写入新数据:sheet['A1'] = 张三' ,或sheet1.append(['张三']) ,append方法会自动在源文件的数据下面加上数据,参数是列表类型;
  5. 删除表单:wb.remove(wb['其他1'])
  6. 保存修改操作:wb.save(filename) ,尽量保存为一个新的文件,避免出现修改失败的情况

行(row)、列(column)、单元格(cell)

1.1 读取excel文件中的数据

  1. 导入openpyxl模块 import openpyxl

  2. 获取要读取excel文件,创建对象;

    wb = openpyxl.load_workbook(filename)

  3. 获取要读取的表单,创建对象 sheet = wb[sheetname]

  4. 查看单元格数据:

    # 打印单元格为A1的值
    print(sheet1['A1'].value)
    
    # 打印第一行第一列单元格的值
    print(sheet1.cell(row=1,column=2).value)
    
    # 依次打印每列的值
    col_range = sheet1['A:C']
    for col in col_range:
        for cell in col:
            print(cell.value)
    

其他读取操作:(可以对单元格进行切片操作)

# 查看excel表格下的表单名称,以列表形式打印
print(wb.sheetnames)

for sheet in wb:
    # 获取表单名称
    print(sheet.title)

# 获取excel表格中的活跃表单对象
ws_active = wb.active

B1 = sheet1['B1']
# 查看B1单元格的行号和列号
print('row is {},column is {},value is {}'.format(B1.row,B1.column,B1.value))

# coordinate属性表示单元格的位置
print('Cell {} is {} '.format(B1.coordinate,B1.value))

# 打印表单sheet1的中有效数据的行数和列数
print('{} * {}'.format(sheet1.max_row,sheet1.max_column))

# 将使用A、B、C...表示列的方法转化为使用数字表示,反过来也是如此
from openpyxl.utils import get_column_letter,column_index_from_string
print(get_column_letter(2),get_column_letter(100))
print(column_index_from_string('B'),column_index_from_string('CV'))
运行结果:
B CV
2 100

1.2 将数据写入excel文件(修改excel文件中的数据)

  1. 导入openpyxl模块,import openpyxl
  2. 获取要修改的文件,或创建一个空的文件,将数据写入
    1. 获取要修改的文件对象:wb = openpyxl.load_workbook(filename)
    2. 创建一个空的excel文件对象:wb = openpyxl.Workbook()
  3. 获取要修改的表单:sheet = wb[sheetname]
  4. 修改或写入新数据:sheet['A1'] = 张三' ,或sheet1.append(['张三']) ,append方法会自动在源文件的数据下面加上数据,参数是列表类型;
  5. 删除表单:wb.remove(wb['其他1'])
  6. 保存修改操作:wb.save(filename) ,尽量保存为一个新的文件,避免出现修改失败的情况
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值