提问人:Nelson A. Morais 提问时间:9/5/2023 最后编辑:Nelson A. Morais 更新时间:9/5/2023 访问量:39
从 OpenPyXL 工作表中获取基于列子集的数据的简单方法,避免迭代
Simple way to get data based on column subset from OpenPyXL Worksheet avoiding iterations
问:
想象一下,我们想要基于特定列的数据集的一部分,该数据集位于 OpenPyXL 的工作表上。
ws = openpyxl.load_workbook("example_file.xlsx")["example_sheet"]
有没有一种简单的方法可以对元组进行子集重复,例如假装以下范围(类似 Excel 的列)?
ws = ws[ws['A,C,D,J:K,AI:AK']]
我知道 Pandas 允许解决这个问题,但以前的库对于处理多级列是必要的。即便如此,迭代似乎是独特的方式,但还不够清晰。提前致谢!
答:
0赞
Abbas
9/5/2023
#1
不,你要找的是不可能的。您需要遍历行,然后遍历单元格并筛选要查找的列并提取值。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)
评论
0赞
Nelson A. Morais
9/5/2023
如何保留工作表结构?value
0赞
Abbas
9/6/2023
如果更改该值,则它不会自动反映在单元格中。如果这是要求,请使用熊猫。
评论