我正在为一个脚本创建函数,该脚本从 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.")
关于python - 如何在输出之前自动过滤 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58100181/