gpt4 book ai didi

python - 使用 pandas 仅显示 Excel writer 输出中的筛选行

转载 作者:行者123 更新时间:2023-12-01 01:16:12 25 4
gpt4 key购买 nike

我想在 Excel 输出中仅显示筛选后的行。下面是示例,

df = pd.DataFrame({'Data': [1, 2, 3, 4, 
5, 6, 7]})

writer = pd.ExcelWriter('pandasEx.xlsx',
engine ='xlsxwriter')

df.to_excel(writer, sheet_name ='Sheet1')
writer.save()

对于输出,我想隐藏 'Data' < 5 所在的所有行。这个怎么做?相当于应用过滤器并保存Excel。

我知道如何删除 pandas 中的重复项或过滤 pandas 中的内容。但我不想在 pandas 中删除它们,我只想在 Excel 中应用过滤器。用例是用户将在 Excel 中拥有完整的数据,但某些行将被隐藏,如果用户愿意,他们可以在 Excel 中取消隐藏它们并查看数据。希望这能解释用例

谢谢

最佳答案

df = pd.DataFrame({'Data': [1, 2, 3, 4, 
5, 6, 7]})

writer = pd.ExcelWriter('pandasEx.xlsx',
engine ='xlsxwriter')

df.to_excel(writer, sheet_name ='Sheet1')
workbook = writer.book
worksheet1 = writer.sheets['Sheet1']

# Activate autofilter
worksheet1.autofilter(f'B1:B{len(df)}')
worksheet1.filter_column('B', 'x < 5')

# Hide the rows that don't match the filter criteria.
for idx, row_data in df.iterrows():
region = row_data['Data']
if not (region < 5):
# We need to hide rows that don't match the filter.
worksheet1.set_row(idx + 1, options={'hidden': True})

writer.save()



关于python - 使用 pandas 仅显示 Excel writer 输出中的筛选行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54327016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com