首页 > 解决方案 > 如何使用 Python `openpyxl` 读取大纲级别?

问题描述

我的组织有一个干净的物料清单 (BOM) 出口。我想自动解析 excel 文件以检查 BOM 的某些属性。

目前,我正在使用Pythonwith openpyxl

我可以很好地阅读 excel 工作簿和工作表,但我似乎找不到包含每一行的“大纲级别”的属性(我完全承认我可能使用了错误的术语......另一个候选术语可能是“团体”)。

当我使用 excel 查看我的 excel 文件时,我在屏幕左侧看到了这个:

excel图像快照

我想1 2 3 4 5从每一行中提取,并告诉他们所在的分组。

我的初始代码是:

from pathlib import Path 
import openpyxl as xl


path = Path('<path-to-my-file>.xlsx')

wb = xl.load_workbook(filename=path)
sh = wb.worksheets[0]

# ... would like to put outline level reading code here

通过阅读其他问题,我怀疑我需要查看row_dimension.group工作表的方法,但我似乎无法掌握我正在寻找的语法或确切属性。

标签: pythonexcelopenpyxlxlsx

解决方案


谢谢你的帖子。我在同样的问题上苦苦挣扎,看到你的帖子给了我一个想法!

我用以下代码克服了它:

from pathlib import Path 
import openpyxl as xl

path = Path('<path-to-my-file>.xlsx')

wb = xl.load_workbook(filename=path)
sh = wb.worksheets[0]

for row in sorted(sheet.row_dimensions):
    outline1=sheet.dimensions[row].outlineLevel
    outline2=sheet.dimensions[row].outline_level
    print(row,sheet.dimensions[row], outline1, outline2 )

推荐阅读