<p>我正在尝试使用openpyxl和Python对电子表格进行排序。我读过文件,不太明白这一页。我希望它要么添加自动筛选下拉箭头,要么排序我的电子表格,它正在返回错误。这是我的密码</p>
<pre><code>wb = openpyxl.load_workbook('report.xlsx')
ws = wb.active
ws['A2'] = "Store"
ws['B2'] = "Manager"
ws['C2'] = "Zone"
ws.column_dimensions.group('F','DU',hidden=True)
#ws.AutoFilter.add_sort_condition('C:C')
wb.save("report.xlsx")
</code></pre>
<p>根据文档,行“ws.AutoFilter.add_sort_condition('C:C')”应该会给出我想要的结果。(是的,我知道这是一个评论行。我的其余代码在没有这一行的情况下运行良好,因此我对其进行了注释。)</p>
<p>当我在代码中有这一行时,我得到一个错误-“Worksheet”对象没有“AutoFilter”属性,但是根据文档,它看起来像是这样。<a href="http://openpyxl.readthedocs.org/en/latest/_modules/openpyxl/worksheet/filters.html#AutoFilter" rel="nofollow">http://openpyxl.readthedocs.org/en/latest/_modules/openpyxl/worksheet/filters.html#AutoFilter</a>。</p>
<p>如果有人能帮我解释一下失败的原因或者文件的意思,那就太好了。</p>
<p>文件中的这句话让我特别困惑:</p>
<blockquote>
<p>"Don't create auto filters by yourself. It is created by :class:<code>~openpyxl.worksheet.Worksheet</code>.
You can use via :attr:<code>~~openpyxl.worksheet.Worksheet.auto_filter</code> attribute." </p>
</blockquote>
<p>因为我也试过,但也失败了。</p>
<p>更新:@crussell的回复是在我的电子表格中添加了自动过滤器。但是,它仍然没有将排序条件添加到相应的列中。</p>