第三方模块openpyxl

安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl

功能

  • Excel 文件的读取与写入
  • 特点是功能齐全,处理速度快,与 Excel 软件本身的设置高度对应

基本使用

创建表格

from openpyxl import Workbook

wb = Workbook()  # 创建excel文件
ws = wb.create_sheet('学员名单')  # 创建工作簿
ws.title = '修改后的学员名单'
wb.save('info.xlsx')  # 保存excel文件

写入数据

from openpyxl import Workbook

wb = Workbook()  # 创建excel文件
ws = wb.active  # 默认sheet工作簿


# 写普通数据方式1
ws['A1'] = 1
# 写普通数据方式2
ws.cell(row=1, column=2, value=2)  # row代表行,column代表列,value是数据
# 批量写普通数据
ws.append(['id', 'username', 'password'])  # 按行写入数据

# 写公式数据(也可以在python代码中处理完毕以普通数据写入)
ws['C1'] = '=sum(A1:B1)'

wb.save('info.xlsx')

读取数据

from openpyxl import load_workbook

wb = load_workbook('info.xlsx', data_only=True)  # 打开excel文件
print(wb.sheetnames)  # 获取info.xlsx中所有的工作薄名称  结果是列表数据类型

ws = wb.active  # 默认sheet工作簿

# 第一种取值方式
print(ws['A1'].value)  # 不是结果 需要再点value
# 1

# 第二种取值方式
print(ws.cell(row=1, column=2).value)  # 第二种取值方式
# 2

# 获取一行行的数据
for row in ws.rows:  # 拿到每一行的数据
    for data in row:  # 拿到一行行数据里面每一个单元格的数据
        print(data.value)

# 获取一列列的数据(如果想获取,必须把readonly去掉)
for column in ws.columns:  # 拿到每一列的数据
    for r in column:  # 拿到一列列数据里面每一个单元格的数据
        print(r.value)
# 获取最大的行数和列数
print(ws.max_row)
print(ws.max_column)
Last modification:April 9, 2022
如果觉得我的文章对你有用,请随意赞赏