python - 如何在输出前自动过滤excel表
问题描述
我正在为从 api 获取数据的脚本制作函数,该 api 会将数据框输出到 excel 表。我需要自动过滤(作为可选参数)。
我快完成了,但不断收到属性错误,说明如下“工作表”对象没有属性“自动过滤器”
这是我一直在尝试的代码
def generate_xls(df, file_name, sheet_name, column_names=None, auto_filter=True):
if column_names != None:
df.columns = column_names
print("appending the data in order...")
print("\nCreating excel-file")
writer = pd.ExcelWriter(file_name + '.xls')
df.to_excel(writer,sheet_name,index=False)
if auto_filter == True:
for worksheet in writer.sheets.values():
worksheet.autofilter(df.columns)
writer.save()
print("Excel-file generated.")
没有自动过滤它可以正常工作,但拥有它对我来说真的很重要,因为还有其他人可能需要它。任何建议都会很棒!
解决方案
感谢您的输入。我在 writer 对象中使用 pandas 和 xlsxwriter 引擎解决了这个问题:
if auto_filter == True:
for worksheet in writer.sheets.values():
row_count = len(df.index)
column_count = len(df.columns)
worksheet.autofilter(0, 0, row_count-1, column_count-1)
writer.save()
print("Excel-file generated.")
推荐阅读
- firebase - 在我的代码中的云 Firestore 中创建新集合
- ruby-on-rails - 无法删除 Rails 中的孤立迁移文件
- office365 - Office 365 的自定义功能插件
- c# - asp.net 超链接 navigateurl 保留主机名
- javascript - 如何从 div 中“提取”css元素(即形成网格)
- android - 错误:文件 google-services.json 丢失。(因为 com.google.gms:google-services 从 4.2.0 更新到 4.3.0)
- r - 从 R 数据框中删除负值和一个正值
- angular - 为什么我的网页网址及其子网页无法在生产中使用
- javascript - 无法使用 jquery-confirm.js 删除表行
- r - 如何在 Rshiny 中导入反应数据集?