AttributeError: 'Worksheet' object has no attribute 'max_row'
时间: 2023-12-16 10:05:27 浏览: 391
这个错误是因为你正在使用的openpyxl版本中,Worksheet对象没有max_row属性。相反,你应该使用get_highest_row()方法的替代方法max_row。以下是一个使用max_row的示例代码:
```python
from openpyxl import load_workbook
# 加载工作簿
workbook = load_workbook(filename="example.xlsx")
# 选择工作表
worksheet = workbook.active
# 获取最大行数
max_row = worksheet.max_row
# 打印最大行数
print("Max row: ", max_row)
```
相关问题
AttributeError: 'Worksheet' object has no attribute 'get_highest_row'
根据你提供的引用内容,出现了一个Python错误:AttributeError: 'Worksheet' object has no attribute 'get_highest_row'。这个错误意味着在Worksheet对象上调用了一个不存在的方法get_highest_row。
解决这个问题的方法是使用openpyxl库的新方法max_row来替代get_highest_row。max_row方法可以返回Worksheet对象中最大的行数。
以下是一个示例代码,演示如何使用max_row方法获取Worksheet对象的最大行数:
```python
from openpyxl import load_workbook
# 加载Excel文件
workbook = load_workbook('example.xlsx')
# 获取Worksheet对象
worksheet = workbook.active
# 使用max_row方法获取最大行数
max_row = worksheet.max_row
# 打印最大行数
print("Max row: ", max_row)
```
这段代码首先加载了一个名为example.xlsx的Excel文件,然后获取了Worksheet对象。接下来,使用max_row方法获取最大行数,并将结果打印出来。
AttributeError: 'Sheet' object has no attribute 'max_row'
引用\[1\]:Python使用pandas库实现MySQL查询数据库查到的数据导出Excel表,在设定列宽时报错:AttributeError: 'Worksheet' object has no attribute 'set_column' 代码如下 import pandas as pd import pandas.io.formats.excel def downloadExcel(): # 查询数据库的函数实现部分省略 sql = "SELECT * FROM XIAOBAIBAI_LOG WHERE ID='666'" resList = mysqlData.search(sql) # resList为查询到的结果 cols = mysqlData.cur.description col = \[\] for c in cols: col.append(c\[0\]) # 提取数据库的columns作为每列标题 df = pd.DataFrame(list(resList), columes=col) pandas.io.formats.excel.header_style = None writer = pd.ExcelWriter(r"output/XIAOBAIBAI_LOG.xls") df.to_excel(writer, sheet_name='XIAOBAIBAI_LOG') worksheet = writer.sheets\['XIAOBAIBAI_LOG'\] worksheet.set_column("A:A",15) # 设置A列宽度为15 writer.save() writer.close() 解决方案: 。 引用\[2\]:看了很多解决 AttributeError: 'Worksheet' object has no attribute 'set_column' 错误的方案,尝试了都没有解决,结果发现一个小细节,原因竟然是Excel导出后缀的问题,之前对Excel的操作都保存为 .xls 格式,也没有问题,但是使用 set_column 方法出现报错了,把后缀改为.xlsx 报错就没有了。 writer = pd.ExcelWriter(r"output/XIAOBAIBAI_LOG.xlsx") 其他可能原因分析: 。 引用\[3\]:sheet.get_highest_row()和sheet.get_highest_column()在多年前就已经弃用了,现在用的是: sheet.max_row和sheet.column 再次启动:(就不会报错了) 搞定!。 问题:AttributeError: 'Sheet' object has no attribute 'max_row'
回答: 在你的代码中,出现了两个不同的错误。首先,关于'Worksheet' object has no attribute 'set_column'的错误,这是因为你使用了旧版本的Excel文件格式(.xls)。解决方法是将文件后缀改为.xlsx,即writer = pd.ExcelWriter(r"output/XIAOBAIBAI_LOG.xlsx")。\[2\]其次,关于'AttributeError: 'Sheet' object has no attribute 'max_row''的错误,这是因为你使用了过时的方法sheet.get_highest_row()和sheet.get_highest_column()。正确的方法是使用sheet.max_row和sheet.column。\[3\]通过更正这两个错误,你应该能够成功导出Excel文件并设置列宽。
#### 引用[.reference_title]
- *1* *2* [Python错误: AttributeError: ‘Worksheet‘ object has no attribute ‘set_column‘ 解决办法](https://blog.csdn.net/qq_39691492/article/details/119757362)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Python Error解决方案AttributeError: ‘ReadOnlyWorksheet‘ object has no attribute ‘get_highest_row...](https://blog.csdn.net/XRTONY/article/details/113818112)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文