<p>好吧,这是我的答案。让我一步一步来。
考虑到前面的答案,xlrd是获取工作表的正确模块。</p>
<ol>
<li><p>打开工作簿返回xlrd.Book对象。</p>
<p><code>rb = open_workbook('sampleXLS.xls',formatting_info=True)</code></p></li>
<li><p><code>nsheets</code>是一个属性整数,它返回工作簿中的工作表总数。</p>
<p><code>numberOfSheets=rb.nsheets</code></p></li>
<li><p>既然你已经把它复制到了一个新的工作簿<code>wb</code>->;基本上是为了写东西,wb是为了修改excel
<code>wb = copy(rb)</code></p></li>
<li><p>有两种方法可以获取工作表信息</p>
<p><strong>a.</strong>如果您只是想阅读这些表格,请使用<code>sheet=rb.sheet_by_index(sheetNumber)</code></p>
<p><strong>b.</strong>如果要编辑工作表,请使用<code>ws = wb.get_sheet(sheetNumber)</code>(在本上下文中,此选项对于所问问题是必需的)</p></li>
</ol>
<p>你知道现在excel工作簿中有多少张工作表,以及如何单独获取它们,
把它们都放在一起</p>
<p><strong>示例代码:</strong></p>
<p>引用:<a href="http://www.simplistix.co.uk/presentations/python-excel.pdf" rel="nofollow">http://www.simplistix.co.uk/presentations/python-excel.pdf</a></p>
<pre><code>from xlrd import open_workbook
from xlutils.copy import copy
from xlwt import Workbook
rb = open_workbook('sampleXLS.xls',formatting_info=True)
numberOfSheets=rb.nsheets
wb = copy(rb)
for each in range(sheetsCount):
sheet=rb.sheet_by_index(each)
ws = wb.get_sheet(each)
## both prints will give you the same thing
print sheet.name
print ws.name
</code></pre>