擅长:python、mysql、java
<p>如果您的列不包含名称和年龄以外的任何数据,并且您对数据质量非常有信心(年龄应该是非数字数据,等等),那么您可以这样进行:</p>
<pre><code>names = (name.value for name in worksheet.col(0))
ages = (int(age.value) for age in worksheet.col(1))
data = dict(zip(names, ages))
</code></pre>
<p>如果要保证顺序,可以使用<code>collections.OrderedDict</code>对象代替普通字典。</p>
<p>如果您需要处理错误的数据(例如,有人在工作表中输入了字符串而不是整数年龄),则可能必须想出<code>names</code>和<code>ages</code>生成器对象的自定义实现(上面的那些对象假设运行顺利)。</p>