繁体   English   中英

使用Python在Excel中创建视觉过滤器-openpyxl

[英]Create a visual filter in excel using Python - openpyxl

我正在尝试以编程方式在excel中创建过滤器,因此,当使用openpyxl创建工作表时,每张工作表的第一行将已设置为过滤器。 我看了看文档,但是我只能找到如何过滤数据而不创建过滤器。

当前的openpyxl实现是否有可能?

openpyxl支持过滤器。 请参阅worksheet.filters模块和相关的测试。

您可以做什么的样本:

    ws.auto_filter.ref = 'C1:G9'

将其复制并粘贴到.py文件中并运行。

import pandas as pd
import numpy as np

# Here is an example dataframe
df_example = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

# Create xlsx file
filepath = 'mytempfile.xlsx'
with pd.ExcelWriter(filepath, engine='xlsxwriter') as writer:
    df_example.to_excel(writer, sheet_name='Sheet1',index=False)

# Add filter feature to first row
import openpyxl
xfile = openpyxl.load_workbook(filepath)
sheet = xfile.get_sheet_by_name('Sheet1')
maxcolumnletter = openpyxl.utils.get_column_letter(sheet.max_column)
sheet.auto_filter.ref = 'A1:'+maxcolumnletter+str(len(sheet['A']))

# Save the file
xfile.save(filepath)
print 'your file:',filepath

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM