from openpyxl import load_workbook as lw
from openpyxl.utils import get_column_letter
wb = lw(your_xlsx_file)
ws = wb[sheet_name]
for col in range(1, ws.max_column + 1):
col_letter = get_column_letter(col)
max_col_row = len([cell for cell in ws[col_letter] if cell.value])
print("Column: {}, Row numbers: {}".format(col_letter, max_col_row)
5条答案
按热度按时间xdnvmnnf1#
ws.max_row
将给予工作表中的行数。从openpyxl 2版本开始。4您还可以访问单独的行和列,并使用它们的长度来回答问题。
len(ws['A'])
但值得注意的是,对于单列的数据验证,Excel使用
1:1048576
。rxztt3cl2#
这对我很有效。它给出了每列中非空行的数量,假设它们之间没有空行。
xnifntxz3#
这里是另一个可能有用的解决方案-因为openpyxl函数max_row和max_column也考虑了空单元格的样式,我认为在这种情况下使用pandas更好:
通过提供sheet_name=None,我创建了所有工作表的字典,其中key是表名和值表内容(实际上是pandas DataFrame)。
ef1yzkbh4#
求行长和列长。
色谱柱:
对于行长度:
这将为您提供放置功能名称的标题行的长度。如果你想得到所有行的长度,添加max_row=len(column)并删除break。
ozxc1zmp5#
**注意:**此方法假设您使用的列在值之间没有空白单元格
将其加载到pandas数据框中并计算非空值的数量。
last_row的结果: