python openpyxl操作

本文介绍了Python库openpyxl,用于处理.xlsx文件的读取和写入。通过示例展示了如何加载工作簿,获取工作表,读取单元格内容,以及写入数据到工作表中,包括创建新工作表、修改工作表名称和保存文件等操作。
摘要由CSDN通过智能技术生成

一、介绍

openpyxl是Python下的Excel库,它能够很容易的对Excel数据进行读取、写入以及样式的设置,能够帮助我们实现大量的、重复的Excel操作,提高我们的办公效率,实现Excel办公自动化。相比xlrd和xlwt而言它支持.xlsx,而xlrd和xlwt只支持.xls,但是相比速度而言xlrd更胜一筹。

二、安装openpyxl

pip install openpyxl

三、读写操作

以下面工作表为例:
在这里插入图片描述

1.读工作表

import openpyxl
def read():
    # 获取工作簿对象
    wb = openpyxl.load_workbook('IQAI.xlsx')
    # 获取所有工作表名称
    print(wb.sheetnames)
    # 获取工作表对象,三种方法
    sheet1 = wb.worksheets[0]
    sheet2 = wb['Sheet1']
    sheet3 = wb[wb.sheetnames[0]]
    print(sheet1, sheet2, sheet3)
    # 获取工作表名称
    title = sheet1.title
    print(title)
    # 获取工作表总行数
    rows = sheet1.max_row
    # 获取工作表总列数
    cols = sheet1.max_column
    # 总行,总列
    print(rows, cols)
    # 获取某一单元格内容(行, 列),例:2行1列,列表从1开始;也可以直接sheet1.cell(2, 1).value
    cell = sheet1.cell(row=2, column=1).value
    print(cell)
    # 读取第一行的所有内容
    row_list = []
    for i in range(1, cols + 1):
        cell_value = sheet1.cell(row=1, column=i).value
        row_list.append(cell_value)
    print(row_list)
    # 读取第一列的所有内容
    column_list = []
    for i in range(1, rows + 1):
        cell_value = sheet1.cell(row=i, column=1).value
        column_list.append(cell_value)
    print(column_list)
def main():
    read()
if __name__=='__main__':
    main()

2.写入工作表

import openpyxl
def write():
    # 创建一个新的工作簿对象
    wb = openpyxl.Workbook()
    # 获取工作表对象(sheet)
    ws = wb.active
    print(ws)
    # 设置Sheet名称
    ws.title = '学生表'
    # 创建一个新sheet,可以指定名称,index表示新创建的工作簿放在第几个位置, index从0开始计数
    ws_1 = wb.create_sheet(index=1, title='成绩表')
    # 删除sheet表
    del wb['成绩表']
    # 写入单个单元格
    ws['A1'] = '姓名'
    ws['B1'] = '班级'
    # 写入单个单元格(行,列,内容)
    ws.cell(3, 4, '内容1')
    # 写入多个单元格(追加模式,不会覆盖之前的,从有数据的下一行开始)
    ws.append(['姓名', '班级', '年龄'])
    ws.append(['王明', '三年级一班', '9岁'])
    # 复制"学生表",新sheet名称为"学生表 Copy"
    ws_2 = wb.copy_worksheet(wb['学生表'])
    # 修改"学生表 Copy"名称为"备份"
    ws_2.title = '备份'
    # 获取所有工作表名称
    print(wb.sheetnames)
    # 保存
    wb.save('1.xlsx')
def main():
    write()
if __name__=='__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝朽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值