sheet = excel.get_sheet() 错误信息:AttributeError: 'str' object has no attribute 'get_sheet'
时间: 2023-06-22 17:05:41 浏览: 89
这个错误提示的意思是你正在尝试在一个字符串对象上调用名称为`get_sheet`的方法,但是字符串对象没有这个方法。可能原因是你打开的是一个 Excel 文件的文件名字符串,而不是一个 Workbook 对象。
你需要使用 openpyxl 库中的`load_workbook`函数来打开 Excel 文件并加载 Workbook 对象,然后才能调用 Workbook 对象的方法。示例代码如下:
```python
import openpyxl
# 打开 Excel 文件并加载 Workbook 对象
workbook = openpyxl.load_workbook('example.xlsx')
# 获取工作表对象
sheet = workbook.active
```
请注意,`load_workbook`函数的参数应该是 Excel 文件的路径,而不是文件名字符串。如果你已经将文件名存储在字符串变量中,请确保它包含完整的文件路径。
相关问题
selected_sheet_name = self.sheet_names[self.selected_sheet_index] AttributeError: 'ExcelApp' object has no attribute 'selected_sheet_index'
非常抱歉,我在之前的代码中忘记了添加获取 `selected_sheet_index` 的逻辑。在 `load_excel` 函数中,可以添加以下代码来获取当前选中的工作表的索引:
```python
# 获取当前选中的工作表索引
self.selected_sheet_index = 0
for i, sheet_name in enumerate(self.sheet_names):
if sheet_name == selected_label_text:
self.selected_sheet_index = i
break
```
这段代码会遍历所有工作表的名称,找到与当前选中的标签文本相同的工作表名称,并记录其索引。然后在后面的代码中使用 `selected_sheet_index` 来获取当前选中的工作表的名称。
import xlwt import xlrd import xlutils.copy workbook=xlrd.open_workbook("/Users/gml/Downloads/卫生统计学_1教学记录表的副本.xlsx",formatting_info=True) wb = xlutils.copy.copy(workbook) sheet=wb.get_sheet("课堂实操")#打开第一个sheet col_index = 1 # 第2列的索引是1,因为从0开始计数 for row_index in range(sheet.nrows): cell_value = sheet.cell_value(row_index, col_index) print(cell_value)报错:'Worksheet' object has no attribute 'nrows'
这段代码的作用是导入xlwt、xlrd和xlutils.copy三个模块,然后打开一个名为“卫生统计学_1教学记录表的副本.xlsx”的Excel文件,并将其赋值给变量workbook。接着,使用xlutils.copy模块的copy函数将workbook复制一份,并将其赋值给变量wb。最后,使用wb对象的get_sheet方法获取名为“课堂实操”的工作表,并将其赋值给变量sheet。
阅读全文