【问题标题】:xlsxwriter, openpyxl: 'Workbook' object has no attribute 'write'xlsxwriter,openpyxl:“工作簿”对象没有属性“写入”
【发布时间】:2018-08-13 17:41:04
【问题描述】:

我正在尝试从我的 Pandas 数据框中创建格式良好的 Excel 报告。最初,我用 Pandas 文件覆盖了我的标题。因此,我首先编写了格式化代码,关闭了工作簿,然后用 openpyxl 再次加载它,将我的 pandas 数据框写入现有工作表。

但是,当我尝试 writer.save() 时遇到了这个错误:

AttributeError: 'Workbook' object has no attribute 'write'

这是我的代码:

output_filename = "".join(org_name.split()) + OUTPUT_FILENAME 

workbook = xlsxwriter.Workbook(output_filename)   
worksheet = workbook.add_worksheet()

# insert logo
worksheet.set_column('A:A', 30)
worksheet.insert_image('A1', picture, {'x_scale': 0.7, 'y_scale': 0.7})

# add titles: 
title_format = workbook.add_format({'bold': True})
worksheet.write('A3', 'Report', title_format)
worksheet.write('A5', org_name, title_format)
worksheet.write('A6', 'Report Year', title_format)
worksheet.write('A7', 'Report Month', title_format)
worksheet.write('B6', THIS_YEAR)
worksheet.write('B7', calendar.month_name[THIS_MONTH])

workbook.close()



df = get_organization_df(all_df, org_name)

book = load_workbook(output_filename)

writer = pd.ExcelWriter(book, engine='openpyxl')

# get user counts
users_df = count_users(df)
users_df.to_excel(writer, sheet_name = 'Sheet1', startrow = 8)

writer.save()

提前感谢您的帮助!

【问题讨论】:

    标签: python excel pandas openpyxl xlsxwriter


    【解决方案1】:

    我相信你的问题在这里:writer = pd.ExcelWriter(book, engine='openpyxl'): book是Workbook,而pd.ExcelWriter的参数是字符串

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      • 2017-08-14
      • 2019-10-22
      • 1970-01-01
      相关资源
      最近更新 更多