python的openpyxl常见用法

openpyxl用于操作后缀名为.xlsx的excel表格文件,一个excel电子表格文档称为一个工作簿,每个工作簿可以包含多个表(也称为工作表),在excel中即为左下角的"Sheet1 Sheet2 Sheet3"。打开excel时出现的工作表称为活动表。
首先导入openpyxl import openpyxl

wb = openpyxl.load_workbook("example.xlsx")

调用load_workbook(),传入文件路径,导入工作簿,返回的是一个工作簿对象。

print(wb.get_sheet_names())

通过get_sheet_names()方法可以查看所有的工作表,返回的是列表(['Sheet1', 'Sheet2', 'Sheet3'])。

sheet = wb.get_sheet_by_name("Sheet1")

也可以通过get_sheet_by_name()的方法指定工作表名,或者通过sheet = wb.active获得活动表。
sheet是工作簿中的工作表,而工作表中的每个单元格称之为"Cell"。在xlsx中,我们可以通过行列索引访问相应的单元格。但是这里的列索引不是0、1、2……,而是字母A、B、C……,而且行索引的最小值是1并不是0。

print(sheet["A1"])

可以直接通过"A1"访问第一行第一列的单元格,这里A必须要放在1之前,返回的是一个Cell类型(<Cell 'Sheet1'.A1>)。

highest_row, highest_column = sheet.max_row, sheet.max_column

可以通过max_row和max_column两个sheet属性获取工作表的最大行列数。
每个Cell都有一个value属性,value中存放着单元格的值,除此之外还有row、column和coordinate属性。

cell = sheet["A1"]
print(cell.value, cell.row, cell.column, cell.coordinate)
2015-04-05 13:34:02 1 1 A1

通过打印出的结果,可以看出row代表单元格的行索引,column代表单元格的列索引,coordinate代表行列相结合的索引,这里的column并不是A字母索引而是数字索引。

wb = openpyxl.load_workbook("example.xlsx")
sheet = wb.active
print(sheet.cell(row=1, column=1).value)
2015-04-05 13:34:02

也可以对sheet调用cell方法,通过指定行列索引来获得相应的单元格。 from openpyxl.utils import get_column_letter, column_index_from_string ,从utils包中导入get_column_letter和column_index_from_string方法可以分别将列的数字索引转为字母索引,将字母索引转为数字索引。
在这里插入图片描述
在这里插入图片描述
要想获取sheet中的某一列的值可以这样做:

wb = openpyxl.load_workbook("example.xlsx")
sheet = wb.active
highest_row, highest_column = sheet.max_row, sheet.max_column
date, date_str = [], []
for r in range(1, highest_row+1):
    date.append(sheet.cell(row=r, column=1).value)
for d in date:
    date_str.append(d.strftime("%Y-%m-%d %H-%M-%S"))
print(date_str)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值