python openpyxl操作

目录

  • 一、介绍
  • 二、安装openpyxl
  • 三、读写操作

一、介绍

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

二、安装openpyxl

pip install openpyxl

三、读写操作

以下面工作表为例:
python openpyxl操作_第1张图片

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()

你可能感兴趣的:(python编程,python,excel,开发语言)