AttributeError: 'Sheet' object has no attribute 'write'
时间: 2023-06-22 16:46:27 浏览: 2624
bcremoveobjectimageattributecontent:BC Remove Object Image Attribute Content 提供了一个稳定而灵活的解决方案,允许用户根据当前版本、所有版本或新版本动态删除内容对象图像属性内容。 提供对图像属性内容的脚本化操作!
这个错误提示是在告诉你,`Sheet` 对象没有名为 `write` 的属性。根据你的代码,可能是因为你想要使用的是 `xlwt` 模块中的 `write()` 方法,但是你却在 `xlrd` 模块中的 `Sheet` 对象上调用了这个方法。
如果你想要使用 `xlwt` 模块中的 `write()` 方法来写入单元格数据,你需要创建一个 `Workbook` 对象,然后在这个对象上创建一个工作表对象,最后使用工作表对象的 `write()` 方法来写入单元格数据。例如,要将第二行第一列的单元格的值设为 `'Hello, world!'`,可以这样写:
```
import xlwt
# 创建一个Workbook对象
wb = xlwt.Workbook()
# 在Workbook对象上创建一个工作表对象
ws = wb.add_sheet('Sheet1')
# 使用工作表对象的write()方法来写入单元格数据
ws.write(1, 0, 'Hello, world!')
# 保存Workbook对象
wb.save('example.xls')
```
如果你想要修改某个单元格的值,也应该使用这种方式来指定单元格的位置。例如,要将第二行第一列的单元格的值设为 `'Hello, world!'`,可以这样写:
```
ws.write(1, 0, 'Hello, world!')
```
因此,你的代码应该修改为下面这样:
```
import xlrd
import xlwt
# 打开源Excel表格
src_wb = xlrd.open_workbook('花名册批量添加模板.xls')
# 创建一个Workbook对象
dst_wb = xlwt.Workbook()
# 在Workbook对象上创建一个工作表对象
dst_ws = dst_wb.add_sheet('Sheet1')
# 获取源Excel表格中的第一个工作表
src_ws = src_wb.sheet_by_index(0)
# 循环读取A2、A3等单元格数据,并写入到目标Excel表格中
for i in range(1, src_ws.nrows):
cell_value = src_ws.cell_value(i, 0)
dst_ws.write(i + 1, 1, cell_value)
# 保存目标Excel表格
dst_wb.save('花名册批量更新模板.xls')
```
这样就可以使用 `xlwt` 模块中的 `write()` 方法来写入单元格数据了。
阅读全文