知行编程网知行编程网  2022-08-24 02:30 知行编程网 隐藏边栏  116 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于关于Python中openpyxl使用iter_rows()的方法的相关知识,包括python curve_fit,以及python functiontools这些编程知识,希望对大家有参考作用。

iter函数的用法前面已经解释过了,忘记记忆的朋友可以再复习一下。今天,关于iter函数的扩展,讲讲openpyxl中引入iter_rows()的方法。


当我们使用以下代码:

<p><span>import openpyxl as op
ms = op.load_workbook('mtest.xlsx')

ws = ms.active

op.worksheet.Worksheet.iter_rows()<br/></span></p>


然后会出现,此代码返回:

<p><span>type object 'Worksheet' has no attribute 'iter_rows'<br/></span></p>


怎么会出现这种情况?


这说明,你需要在工作表的实例上调用

iter_rows方法

,例如:

<p><span>>>> for row in ws.iter_rows('A1:C2'):
...        for cell in row:
...            print cell<br/></span></p>


要么

<p><span>>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
...    for cell in row:
...        print(cell) <br/></span></p>

正如你的错误消息所述,你在 Worksheet 类型上调用它,这不起作用;它需要在一个对象上调用:

<p><span>op.worksheet.Worksheet.iter_rows()  # wrong<br/></span></p>


对于旧版本的openpyxl,你可能需要确保在加载工作簿时启用

迭代器

–对于更新版本,这不是必需的。


以下是一个完整的例子在Python REPL中测试过(使用openpyxl 1.8.3):

<p><span>>>> import openpyxl as op
>>> wb = op.load_workbook('/tmp/test.xlsx', use_iterators=True)
>>> ws = wb.active
>>> for row in ws.iter_rows():
...   for cell in row:
...     print cell
... 
RawCell(row=1, column='A', coordinate='A1', internal_value=1.0, data_type='n', style_id='0', number_format='general')
RawCell(row=1, column='B', coordinate='B1', internal_value=10.0, data_type='n', style_id='0', number_format='general')
...<br/></span></p>


还没有学会的小伙伴不要着急,结合之前学习再重新看一遍今天的示例,Python基础知识回顾:

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享