openpyxl获取最大行数和最大列数的函数
时间: 2023-02-08 20:12:22 浏览: 448
在 openpyxl 中,可以使用 `.max_row` 和 `.max_column` 属性来获取工作簿中最大行数和最大列数。
例如:
```
import openpyxl
# 打开工作簿
wb = openpyxl.load_workbook('example.xlsx')
# 获取活动工作表
ws = wb.active
# 获取最大行数
max_row = ws.max_row
# 获取最大列数
max_column = ws.max_column
```
此外,还可以使用 `.iter_rows()` 方法来遍历工作表中的所有单元格,并使用 `len()` 函数来获取最大行数和最大列数。
例如:
```
import openpyxl
# 打开工作簿
wb = openpyxl.load_workbook('example.xlsx')
# 获取活动工作表
ws = wb.active
# 遍历工作表中的所有单元格
for row in ws.iter_rows():
# 获取最大行数
max_row = len(row)
# 遍历工作表中的所有单元格
for column in ws.iter_cols():
# 获取最大列数
max_column = len(column)
```
相关问题
openpyxl通过行数和列数读取单元格内容
### 使用 OpenPyXL 按照行数和列数读取 Excel 文件中指定单元格的数据
为了按照行数和列数读取 Excel 文件中的特定单元格数据,可以使用 `openpyxl` 库来加载 Excel 文件,并通过 `.cell()` 方法访问具体的单元格。下面是一个详细的例子说明如何实现这一点。
#### 导入库并设置文件路径
首先需要导入必要的库以及定义要操作的工作簿路径:
```python
from openpyxl import load_workbook
path = r"E:\"
filename = "test.xlsx"
filepath = path + filename
```
#### 打开 Excel 工作簿并选择 Sheet 页面
接着打开目标 Excel 文件,并选取想要操作的具体工作表(Sheet),这里假设只关心第一个 sheet:
```python
workbook = load_workbook(filepath)
sheet_names = workbook.sheetnames # 获取所有 sheet 名字
selected_sheet = workbook[sheet_names[0]] # 定位到首个 sheet 页
```
#### 访问具体位置的单元格
现在可以通过提供行号和列号参数给 `.cell()` 函数来获取任意单元格的内容。注意,在 Python 中索引是从1开始而不是0[^3]:
```python
row_number = 2 # 表示第几行
column_number = 2 # 表示第几列
specific_cell_value = selected_sheet.cell(row=row_number, column=column_number).value
print(f"The value at row {row_number}, column {column_number} is: ", specific_cell_value)
```
上述代码片段展示了怎样利用 `openpyxl` 来精确地定位并提取某个特定坐标下的单元格值。这使得能够方便快捷地处理大型电子表格内的结构化信息。
在这个代码的基础上添加显示最大行数和最大列数的功能
好的,下面是添加显示最大行数和最大列数的代码:
```python
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
sheet = workbook.active
# 获取最大行数和最大列数
max_row = sheet.max_row
max_column = sheet.max_column
print(f"最大行数为{max_row},最大列数为{max_column}")
# 记录0所在的行数
zero_row = 0
start_row = 0
# 遍历第一列
for row in sheet.iter_rows(min_row=1, max_col=1, max_row=max_row):
cell_value = row[0].value
if cell_value == 0:
if zero_row == 0:
zero_row = row[0].row
else:
continue
else:
if zero_row != 0:
end_row = row[0].row - 1
if end_row - zero_row > 60:
sheet.delete_rows(zero_row, end_row - zero_row + 1)
zero_row = 0
# 保存修改后的Excel文件
workbook.save('example.xlsx')
```
该代码在打开Excel文件后,使用`sheet.max_row`和`sheet.max_column`获取最大行数和最大列数,并通过`print`函数将其显示出来。之后,代码实现同之前的代码一致,删除指定范围内的行。最后,修改后的Excel文件会保存为`example.xlsx`。
阅读全文
相关推荐
















