AttributeError: 'Worksheet' object has no attribute 'copy_worksheet'
时间: 2023-08-14 13:02:37 浏览: 266
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
5星 · 资源好评率100%
非常抱歉,openpyxl库的Worksheet对象并没有`copy_worksheet()`方法。为了复制工作表,你需要使用Workbook对象的`create_sheet()`方法来创建一个新的工作表,并从源工作表中复制数据到新的工作表中。以下是一个更新后的示例代码:
```python
from openpyxl import load_workbook
from openpyxl import Workbook
# 打开源工作簿
source_wb = load_workbook('source.xlsx')
# 获取源工作表
source_sheet = source_wb['Sheet1']
# 创建新的工作簿
target_wb = Workbook()
target_sheet = target_wb.active
# 从源工作表复制数据到目标工作表
for row in source_sheet.iter_rows(values_only=True):
target_sheet.append(row)
# 保存目标工作簿
target_wb.save('target.xlsx')
```
在这个示例中,我们首先使用`load_workbook()`方法打开源工作簿。然后,我们使用`Workbook()`方法创建一个新的工作簿,并通过`active`属性获取新工作簿的默认活动工作表。接下来,我们使用`iter_rows()`方法遍历源工作表中的每一行,并将数据逐行追加到目标工作表中。最后,我们使用`save()`方法保存目标工作簿。请确保在运行代码之前已安装openpyxl库,并将源工作簿的文件名替换为你实际的文件名。
阅读全文