安装

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

功能

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

基本使用

创建表格

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

写入数据

  1. from openpyxl import Workbook
  2. wb = Workbook() # 创建excel文件
  3. ws = wb.active # 默认sheet工作簿
  4. # 写普通数据方式1
  5. ws['A1'] = 1
  6. # 写普通数据方式2
  7. ws.cell(row=1, column=2, value=2) # row代表行,column代表列,value是数据
  8. # 批量写普通数据
  9. ws.append(['id', 'username', 'password']) # 按行写入数据
  10. # 写公式数据(也可以在python代码中处理完毕以普通数据写入)
  11. ws['C1'] = '=sum(A1:B1)'
  12. wb.save('info.xlsx')

读取数据

  1. from openpyxl import load_workbook
  2. wb = load_workbook('info.xlsx', data_only=True) # 打开excel文件
  3. print(wb.sheetnames) # 获取info.xlsx中所有的工作薄名称 结果是列表数据类型
  4. ws = wb.active # 默认sheet工作簿
  5. # 第一种取值方式
  6. print(ws['A1'].value) # 不是结果 需要再点value
  7. # 1
  8. # 第二种取值方式
  9. print(ws.cell(row=1, column=2).value) # 第二种取值方式
  10. # 2
  11. # 获取一行行的数据
  12. for row in ws.rows: # 拿到每一行的数据
  13. for data in row: # 拿到一行行数据里面每一个单元格的数据
  14. print(data.value)
  15. # 获取一列列的数据(如果想获取,必须把readonly去掉)
  16. for column in ws.columns: # 拿到每一列的数据
  17. for r in column: # 拿到一列列数据里面每一个单元格的数据
  18. print(r.value)
  19. # 获取最大的行数和列数
  20. print(ws.max_row)
  21. print(ws.max_column)