安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl
功能
- Excel 文件的读取与写入.
- 特点是功能齐全,处理速度快,与 Excel 软件本身的设置高度对应
基本使用
创建表格
from openpyxl import Workbookwb = Workbook() # 创建excel文件ws = wb.create_sheet('学员名单') # 创建工作簿ws.title = '修改后的学员名单'wb.save('info.xlsx') # 保存excel文件
写入数据
from openpyxl import Workbookwb = Workbook() # 创建excel文件ws = wb.active # 默认sheet工作簿# 写普通数据方式1ws['A1'] = 1# 写普通数据方式2ws.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_workbookwb = 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)