擅长:python、mysql、java
<p>在<code>__init__</code>的参数列表中,<code>ex</code>尚未计算,因此<code>sh = ex.sheet_by_index(0))</code>抛出NameError。这在创建类对象时发生。你知道吗</p>
<p>你可以做几件事。编写类的一个原因是可以重用它,因此类可能只应将filepath作为参数。你知道吗</p>
<pre><code>class XToSql():
def __init__(self, ex_file):
self.ex = xlrd.open_workbook(ex_file)
self.sh = self.ex.sheet_by_index(0)
def modify(self):
for i in str(self.sh.nrows - 1):
a = 1
print(self.sh.row_values(a))
a += 1
</code></pre>
<p>也许您应该能够指定要处理的工作表</p>
<pre><code>class XToSql():
def __init__(self, ex_file, sheet=0):
self.ex = xlrd.open_workbook(ex_file)
self.sh = self.ex.sheet_by_index(sheet))
def modify(self):
for i in str(self.sh.nrows - 1):
a = 1
print(self.sh.row_values(a))
a += 1
</code></pre>
<p>像这样使用</p>
<pre><code>a = XToSql(ex_file='ex1.xlsx', sheet=0)
</code></pre>