python - 在编写样式器对象时,有没有办法让 add_format 在 xlsxwriter 中工作?
问题描述
我正在尝试使用xlsxwriter
引擎将样式化的数据框写入 Excel。它确实有效,但是当我尝试将 anadd_format
应用于列时,它不会将该格式应用于我从样式数据框中写入的单元格,而只会应用于剩余的空白单元格。我究竟做错了什么?
这是我为测试而编写的测试代码:
test_df = pd.DataFrame([11, 22.0, '33', '44 words might make this line wrap'])
test_df = test_df.style
writer = pd.ExcelWriter('format_test.xlsx', engine='xlsxwriter')
test_df.to_excel(writer,sheet_name='sheet',index=False, header=False)
worksheet = writer.sheets['sheet'] # pull worksheet object
workbook = writer.book
format1 = workbook.add_format({
'bold': True,
'text_wrap': True,
'align' : 'right',
'valign': 'center',
'fg_color': '#D7E4BC',
'border': 1})
worksheet.set_column('A:A',23,format1)
worksheet.set_default_row(50)
writer.save()
因此,如果我用应用注释掉第二行,则.style
大多数格式(文本换行等)都可以使用。但是一旦我.style
再次执行,格式都消失了。
有任何想法吗?
解决方案
的作者 John McNamara 告诉我xlsxwriter
,它不适用于此引擎。他建议我试试openpyxl
引擎。
推荐阅读
- flutter - 如何在 Flutter 中更改布局
- docker - 将 docker 容器部署到 Heroku 时出错
- shell - sed - 如何在特定行上打印正则表达式匹配
- python - 如何将多个列表写入csv文件python3
- javascript - 使用函数通过键名删除对象属性
- ruby-on-rails - 下拉箭头在带有 Webpacker 的 Rails 6 中的引导菜单项上不起作用
- node.js - 用 Electron 打开一个 Express 应用程序(Nodejs)
- react-native - React Native:复选框列表结构
- sql - 使用 Merge-OUTPUT 函数通过 msdb.dbo.sp_send_dbmail 转储结果
- reactjs - 用钩子反应渲染两次