Traceback (most recent call last): File "C:\Users\admin\AppData\Local\Programs\Python\Python310\2.py", line 14, in <module> writer.save() AttributeError: 'OpenpyxlWriter' object has no attribute 'save'. Did you mean: '_save'?
时间: 2023-07-21 07:03:40 浏览: 113
这个错误提示表明,你正在使用名为 `writer` 的 `OpenpyxlWriter` 对象,并且尝试调用 `save()` 方法。但是,该对象没有 `save()` 方法,只有 `_save()` 方法。因此,你可以尝试将 `save()` 替换为 `_save()`,如下所示:
```
writer._save()
```
或者,你可以使用 `openpyxl` 库中的常规 `Workbook` 和 `Worksheet` 对象来创建和编辑Excel文件,然后使用 `save()` 方法将其保存到磁盘上,如下所示:
```python
from openpyxl import Workbook
# 创建一个Workbook对象
workbook = Workbook()
# 获取默认的工作表
worksheet = workbook.active
# 在单元格A1中写入数据
worksheet['A1'] = 'Hello, World!'
# 将Workbook对象保存到磁盘上
workbook.save('example.xlsx')
```
这段代码将创建一个新的工作簿,并在默认工作表中写入数据。最后,使用 `save()` 方法将Workbook对象保存到名为 `example.xlsx` 的Excel文件中。
相关问题
Traceback (most recent call last): File "C:\Users\admin\AppData\Local\Programs\Python\Python310\2.py", line 26, in <module> if row['Quantity'] > 0: TypeError: 'int' object is not subscriptable
这个错误是由于你尝试在一个整数对象上使用索引操作,但是整数对象是不支持索引操作的。一般来说,这个错误发生在你尝试使用字典的方式访问一个整数对象,或者在尝试使用列表/元组的方式访问一个整数对象时。
你可以检查一下代码中是否有一个整数对象被错误地作为了字典/列表/元组来使用。如果你需要使用字典/列表/元组来存储整数对象,你可以考虑使用包含整数对象的数据结构,如以下代码所示:
```
data = {'Apple': {'Quantity': 5}, 'Banana': {'Quantity': 3}, 'Orange': {'Quantity': 7}}
for key, row in data.items():
if row['Quantity'] > 0:
print(key, row['Quantity'])
```
这个代码使用字典来存储数据,并且使用嵌套字典将整数对象封装在一个键值对中,这样就可以使用字典的方式访问整数对象了。
Traceback (most recent call last): File "C:\Users\admin\AppData\Local\Programs\Python\Python310\1.py", line 16, in <module> if row['Quantity'] > 0: TypeError: tuple indices must be integers or slices, not str
这个错误是由于你使用了元组而不是字典来访问数据中的行。在元组中,你只能使用整数索引,而不是字符串。因此,你需要将数据类型转换为字典,或者使用整数索引来访问元组中的元素。你可以尝试这个代码来将元组转换为字典,然后访问数据中的行:
```
data = [('Apple', 5), ('Banana', 3), ('Orange', 7)]
data_dict = dict(data)
for key, row in data_dict.items():
if row['Quantity'] > 0:
print(key, row['Quantity'])
```
这个代码会将元组列表转换成字典,并且使用字典的键和值来访问数据中的行。
阅读全文