我正在编写一个程序,使用Python 3.5
和xlwings 0.10.0
将Excel(.xlsx)文件转换为json文件。一切都工作得很好,除了我试图添加一个选项来迭代表格时遇到了打嗝。
import xlwings as xw
wb = xw.Book('myfile.xlsx')
for s in wb.sheets:
sheet = s.activate()
print(sheet.range(1, 1))
这个简化的代码段总结了我的问题。
在xlwings
documentation中,声明activate()
方法激活工作表,返回它。遵循该逻辑,我希望sheet = s.activate()
将当前迭代和激活的工作表分配给变量sheet
。但是在执行最后一行时会抛出AttributeError: 'NoneType' object has no attribute 'range'
错误(sheet
返回None而不是激活的工作表。)
对我来说有用的是分离表单激活和分配:
import xlwings as xw
wb = xw.Book('myfile.xlsx')
for s in wb.sheets:
s.activate()
sheet = s
print(sheet.range(1, 1))
我想知道为什么第一个片段不起作用而第二个片段不起作用。
如果我忽略了一些我应该知道的基本内容,请随意指出,因为我对发展很陌生。