1.问题现象
使用xlwr创建一个workbook;
使用add_sheet创建一个worksheet;
使用sheet_names获取所有worksheet的名称是出现报错,代码如下:
workbook1 = xlwt.Workbook(path1)
sheet_diff = workbook1.add_sheet('sheet_diff')
sheets1 = workbook1.sheet_names()
worksheet = workbook1.sheet_by_name(sheets1[0])
报错如下:
AttributeError: 'Workbook' object has no attribute 'sheet_names'
为什么同一个程序中有的workbook带有sheet_names属性而有的没有?
2.解决方法
经过反复尝试,发现只有读取的workbook才有该属性,将代码修改为以下:
自己的理解,每次对workbook操作之后,需要再执行一次open,才能使workbook具有该有的属性
workbook1 = xlwt.Workbook(path1)
sheet_diff = workbook1.add_sheet('sheet_diff')
workbook1 = xlrd.open_workbook(path1)
sheets1 = workbook1.sheet_names()
worksheet = workbook1.sheet_by_name(sheets1[0])
程序暂时不再报相同的错误。
record for myself only. | |
---|---|
不知道对不对,是个小白,请各位大佬指正。 |