File "d:\桌面\新建文件夹7\福清队列肺功能数据读取.py", line 153, in run writer.book = workbook AttributeError: can't set attribute 'book'
时间: 2024-03-02 20:47:48 浏览: 100
这个错误通常发生在使用openpyxl库时,当尝试将一个已经存在的workbook对象赋值给writer.book时,会出现这个错误。解决方法是在创建writer对象时,使用新的workbook对象,而不是将已经存在的workbook对象赋值给writer.book。例如:
```
from openpyxl import Workbook, load_workbook
from openpyxl.utils import get_column_letter
# 判断文件是否存在
if os.path.exists(self.save_path):
workbook = load_workbook(self.save_path) # 打开现有的Excel文件
else:
workbook = Workbook() # 创建一个新的workbook对象
# 获取active worksheet
worksheet = workbook.active
# 写入数据
for row in range(1, 10):
for col in range(1, 10):
cell = worksheet.cell(row=row, column=col, value=get_column_letter(col))
# 创建新的writer对象,使用新的workbook对象
from openpyxl.writer.excel import ExcelWriter
writer = ExcelWriter(self.save_path, engine='openpyxl')
writer.book = workbook
# 保存文件
writer.save()
```
在这个例子中,我们首先判断文件是否存在,如果存在则打开现有的Excel文件,否则创建一个新的workbook对象。然后,我们将新的workbook对象赋值给writer.book,最后保存文件。这样可以避免AttributeError错误的发生。
阅读全文