安装
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)