这篇文章主要为大家介绍了Python操作Excel的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
目录
Python操作Excel之openpyxl
前提
创建
读取
总结

Python操作Excel之openpyxl
openpyxl是一个Python库,用来读写Excel2010 xlsx/xlsm/xltx/xltm类型文件。

openpyxl不能操作早期的xls格式的Excel文件,可以使用xlwings等其他库。

openpyxl是一个非标准的库,需要自行安装:pip install openpyxl

前提
既然要操作Excel,那么前提我们对Excel要有一个基本的了解,比如:

一个Excel工作簿(workbook)由一个或多个工作表(sheet组成),一个工作表(sheet)中又包含多个行(row)和列(column),每一行(row)或每一列(column)又是由多个单元格(cell)组成

创建

  1. from openpyxl import Workbook
  2. # 创建一个工作簿对象
  3. wb = Workbook()
  4. # 创建一个名为firstsheet [第二个参数可以指定索引,即创建sheet的位置]
  5. ws = wb.create_sheet('first')
  6. # 将创建的工作簿保存为Mytest.xlsx
  7. wb.save('Eric_01.xlsx')
  8. # 最后关闭文件
  9. wb.close()

Workbook对象提供了很多属性和方法,其中,大部分方法都与sheet有关
部分属性如下:

active:获取当前活跃的Worksheet
worksheets:以列表的形式返回所有的Worksheet(表格)
read_only:判断是否以read_only模式打开Excel文档
encoding:获取文档的字符集编码
properties:获取文档的元数据,如标题,创建者,创建日期等
sheetnames:获取工作簿中的表(列表)
部分方法如下:

get_sheet_names:获取所有表格的名称(新版已经不建议使用,通过Workbook的sheetnames属性即可获取)
get_sheet_by_name:通过表格名称获取Worksheet对象(新版也不建议使用,通过Worksheet[‘表名’]获取)
get_active_sheet:获取活跃的表格(新版建议通过active属性获取)
remove_sheet:删除一个表格
create_sheet:创建一个空的表格
copy_worksheet:在Workbook内拷贝表格

读取

  1. from openpyxl import load_workbook
  2. # openpyxl.load_workbook()打开已有工作簿
  3. wb = load_workbook('Eric.xlsx')
  4. # 打印工作簿中存在的工作表名称
  5. print(wb.sheetnames)
  6. # 根据名称获取工作表
  7. sheet = wb['sheet1']
  8. # 如果只有一个工作表也可以如下
  9. sheet = wb.active
  10. # 读取表格内容所在范围
  11. sheet.dimensions
  12. # 获取单元格内容
  13. # 指定坐标
  14. cell = sheet['A1']
  15. # 指定行列
  16. cell = sheet.cell(row=3, column=4)
  17. # 打印单元格的值
  18. print(cell.value)
  19. # 获取单元格的行、列、坐标
  20. print(cell.row, cell.column, cell.coordinate)
  21. # 获取范围单元格的值
  22. # 指定坐标范围
  23. cells = sheet['A1':'C3']
  24. # 指定列范围
  25. cells = sheet['A:C'] # cells = sheet['A']
  26. # 指定行范围
  27. cells = sheet[2:5] # cells = sheet[3]
  28. # 遍历获取单元格的值
  29. for cell in cells:
  30. print(cell.value)
  31. # 特定范围
  32. for row in sheet.iter_rows(min_row = 1, max_row = 10
  33. min_col = 1, max_col = 26):
  34. print(row)
  35. # 遍历获取单元格的值
  36. for cell in row:
  37. print(cell.value)
  38. # 读取所有行
  39. for row in sheet.rows:
  40. print(row)

本篇文章就到这里了,希望能够给你带来帮助

更多相关文章

  1. android sim卡 TelephonyManager类:Android手机及Sim卡状态的获取
  2. 【Android】Android实现截取当前屏幕图片并保存至SDCard
  3. Android设备唯一标识ID的获取
  4. Android(安卓)Studio 获取证书指纹SHA1
  5. Android加壳
  6. Android--取得控件在手机屏幕上的位置
  7. sqlserver获取各种形式的时间
  8. sql server 获取系统时间的方法
  9. SQL语句分组获取记录的第一条数据的方法

随机推荐

  1. Android有用的代码片段
  2. 我们是否还需要在运行时使用新的abi arm6
  3. Android自定义View之微信雷达
  4. 如何从URL解析简单的JSON数组? [重复]
  5. Button点击缩放动画效果
  6. DroidDraw---Android的界面设计工具
  7. Android studio 提示 module not specifi
  8. fragment 状态保存时怎么执行一些需要在o
  9. Android设计模式-迭代器模式
  10. Proguard可以对Android库项目(APKLIB)进行