从“openpyxl”工作表中基于列子集获取数据的简单方法,避免迭代

问题描述 投票:0回答:1

假设我们想要基于特定列的数据集的一部分,该数据集位于 Openpyxl 的工作表上。

ws = openpyxl.load_workbook("example_file.xlsx")["example_sheet"]

是否有一种简单的方法来对元组重复进行子集化,例如假装以下范围?

ws = ws[ws['A,C,D,J:K,AI:AK']]

我知道 Pandas 可以解决这个问题,但是之前的库对于处理 多级列 是必要的。即便如此,迭代似乎是唯一的方式,但不够清晰。预先感谢!

python tuples subset openpyxl worksheet
1个回答
0
投票

不,您正在寻找的东西是不可能的。您需要迭代行

for row in ws.iter_rows()
,然后迭代单元格
for cell in row
并筛选您要查找的列并提取值。

考虑以下实现,尚未经过测试,根据您的需要即兴发挥。

for row in ws.iter_rows():
   for cell in row:
      if cell.column_letter in ['A,C,D,J,K,O,R']:
         value.append(cell.Value)
© www.soinside.com 2019 - 2024. All rights reserved.