Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用openpyxl普通工作簿查找列中的最后一行?_Python_Excel_Openpyxl - Fatal编程技术网

Python 如何使用openpyxl普通工作簿查找列中的最后一行?

Python 如何使用openpyxl普通工作簿查找列中的最后一行?,python,excel,openpyxl,Python,Excel,Openpyxl,我使用openpyxl将数据验证放在所有包含“Default”的行中。但要做到这一点,我需要知道有多少行 我知道如果我使用的是Iterable工作簿模式,有一种方法可以做到这一点,但我也会在工作簿中添加一个新的工作表,并且在Iterable模式下这是不可能的。ws.max\u row将为您提供工作表中的行数 由于OpenPYXL2.4版,您还可以访问单个行和列,并使用它们的长度来回答问题 len(ws['A']) 尽管值得注意的是,对于单列数据验证,Excel使用1:1048576查找行长和列长

我使用openpyxl将数据验证放在所有包含“Default”的行中。但要做到这一点,我需要知道有多少行


我知道如果我使用的是Iterable工作簿模式,有一种方法可以做到这一点,但我也会在工作簿中添加一个新的工作表,并且在Iterable模式下这是不可能的。

ws.max\u row
将为您提供工作表中的行数

由于OpenPYXL2.4版,您还可以访问单个行和列,并使用它们的长度来回答问题

len(ws['A'])


尽管值得注意的是,对于单列数据验证,Excel使用
1:1048576

查找行长和列长

colummn=sheet['A']
output tuple-->(A1,A2,A3........An)

len(colummn)
output length--> 18                    
用于行长度

for i in sheet.iter_rows(max_row=0):

    print(len(i))

    break
这将为您提供放置要素名称的标题行的长度。
如果要获取所有行的长度,请添加max_row=len(colummmn)并删除break。

但是,
ws.max_row
不会检查最后一行是否为空。如果使用Del键或删除重复项删除了工作表末尾的单元格内容,则数据末尾剩余的空行仍将计为已用行。如果您不想保留这些空行,则必须通过选择电子表格左侧的行数并将其删除(右键单击所选行数)->删除)来删除这些整行,但这不是问题,是吗?
max\u row
max\u column
不适用于
sheet=wb.active
。我使用的是
openpyxl==2.4.8
@Hussain:什么对你不起作用,有什么错误,或者只是一个意外的值?如果您通过例如
wb.worksheets[0]
明确设置工作表,它是否适用于您?你最终找到了不同的解决方案吗?这两种方法给出了相同的结果。我错过什么了吗
ws.max_row
为我提供整个工作表中最后一个填充的行。而
len(ws['A'])
应该给出该特定列的长度。如果最长的行是10,但列“A”有3个单元格已填充,则后一种方法应为3,而不是10。这不起作用。如果A列填充到第3行,B列填充到第2行,则两者都将返回3。