在openpyxl程序中添加Excel自动筛选器的问题

时间:2018-02-21 03:36:07

标签: python excel openpyxl

在python中我使用openpyxl创建一个Excel文件,添加一个过滤器并将其保存为新文件。该文件已成功创建,但在打开时抛出以下错误。我的剧本:

from openpyxl import load_workbook
wb = load_workbook('Main.xlsx')
ws = wb.active
ws.auto_filter.ref= 'A1:A51'
ws.auto_filter.add_filter_column(0, ['India', 'Japan'], blank=False)
wb.save('results.xlsx')

错误截图如下:

error screenshot

1 个答案:

答案 0 :(得分:0)

你应该使用pandas

import pandas as pd
df = pd.read_excel('./Main.xlsx') #./ means, Main.xlsx is in same folder with code.py

#I think first column name is Country

df_india = df[df['Country']=='India']
df_japan = df[df['Country']=='Japan']
frames = [df_india , df_japan]
main_df = pd.concat(frames)
main_df = main_df.reset_index(drop = True)

writer = pd.ExcelWriter('results.xlsx', engine='xlsxwriter')
main_df.to_excel(writer, sheet_name='Sheet1')

有关详情,请查看https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_excel.html