openpyxl 读取 excel 过滤数据
openpyxl read excel with filtered data
使用 openpyxl
,我正在读取一个 excel 文件,其中已经应用了一些过滤器。
from openpyxl import load_workbook
wb = load_workbook('C:\Users\dsivaji\Downloads\testcases.xlsx')
ws = wb['TestCaseList']
print ws['B3'].value
我的目标是遍历列 'B' 的内容。有了这个,我将能够读取单元格 'B3' 的内容。如果应用过滤器,在这种情况下,我不想从初始单元格开始。
即在 excel 中可见的(应用过滤器后),我只想获取那些。
在网上搜索了一段时间后,发现 ws.row_dimensions
可以帮助 visible
属性,但仍然没有运气。
>>> ws.row_dimensions[1]
<openpyxl.worksheet.dimensions.RowDimension object at 0x03EF5B48>
>>> ws.row_dimensions[2]
<openpyxl.worksheet.dimensions.RowDimension object at 0x03EF5B70>
>>> ws.row_dimensions[3].visible
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'RowDimension' object has no attribute 'visible'
如何实现?
openpyxl 是 OOXML 文件格式 (.xlsx) 的库,不能替代 Microsoft Excel 等应用程序。因此,对过滤器的支持仅限于读取和写入它们的定义,而不是应用它们。
你快到了。属性的名称是 hidden
。如果您将代码中的 visible
替换为 hidden
,它应该可以工作。
使用 openpyxl
,我正在读取一个 excel 文件,其中已经应用了一些过滤器。
from openpyxl import load_workbook
wb = load_workbook('C:\Users\dsivaji\Downloads\testcases.xlsx')
ws = wb['TestCaseList']
print ws['B3'].value
我的目标是遍历列 'B' 的内容。有了这个,我将能够读取单元格 'B3' 的内容。如果应用过滤器,在这种情况下,我不想从初始单元格开始。
即在 excel 中可见的(应用过滤器后),我只想获取那些。
在网上搜索了一段时间后,发现 ws.row_dimensions
可以帮助 visible
属性,但仍然没有运气。
>>> ws.row_dimensions[1]
<openpyxl.worksheet.dimensions.RowDimension object at 0x03EF5B48>
>>> ws.row_dimensions[2]
<openpyxl.worksheet.dimensions.RowDimension object at 0x03EF5B70>
>>> ws.row_dimensions[3].visible
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'RowDimension' object has no attribute 'visible'
如何实现?
openpyxl 是 OOXML 文件格式 (.xlsx) 的库,不能替代 Microsoft Excel 等应用程序。因此,对过滤器的支持仅限于读取和写入它们的定义,而不是应用它们。
你快到了。属性的名称是 hidden
。如果您将代码中的 visible
替换为 hidden
,它应该可以工作。