用XlsxWriter设置Excel的表格边框

作者: AdamYide | 来源:发表于2020-05-04 00:58 被阅读0次

1. 背景

在用Pandas做数据处理时,为了呈现方便,往往会将结果数据导出为Excel文件。但美中不足的是Pandas并不支持Excel文件格式的设置。
而XlsxWriter可以与Pandas无缝结合,并具有非常精细的Excel格式控制功能。XlsxWriter对于Python初学者来说有一定的学习门槛,可以查询官网文档进行学习。

2. 问题

笔者在使用时,卡在了表格边框的设置上面。

在设置好format后,采用worksheet.set_column()worksheet.set_row()对行或列进行边框设置时,要么出现:
“所选列全部设置了边框”

要么出现:

“所选行全部设置了边框”

的情况。

3. 解决方法

worksheet.conditional_format()

参数及使用方法详见官网说明文档

4. 举个栗子

我们采用官网教程的例子:tutorial01.xlsx

Excel表格中数据如下:

原始数据

我们将该excel表格导入DataFrame,如下:

import pandas as pd

df = pd.read_excel('https://adamyide-1256435674.cos.ap-shanghai.myqcloud.com/tutorial01.xlsx', header = None, index = None)

df为:

df中的数据

接下来,开始设置表格边框:

writer = pd.ExcelWriter('tutorial01_bolder.xlsx',engine='xlsxwriter')
df.to_excel(writer,sheet_name='sheet1', header = None, index = None)

workbook = writer.book
worksheet = writer.sheets['sheet1']

format_border = workbook.add_format({'border':1})   # 设置边框格式
worksheet.conditional_format('A1:XFD1048576',{'type':'no_blanks', 'format': format_border}) #   这里是核心,根据条件来设置格式

workbook.close()

format_border = workbook.add_format({'border':1})中的'border':格式:上面代码中的1是index值。

Index Name Weight Style
0 None 0
1 Continuous 1 -----------
2 Continuous 2 -----------
3 Dash 1 - - - - - -
4 Dot 1 . . . . . .
5 Continuous 3 -----------
6 Double 3 ===========
7 Continuous 0 -----------
8 Dash 2 - - - - - -
9 Dash Dot 1 - . - . - .
10 Dash Dot 2 - . - . - .
11 Dash Dot Dot 1 - . . - . .
12 Dash Dot Dot 2 - . . - . .
13 SlantDash Dot 2 / - . / - .

worksheet.conditional_format('A1:XFD1048576',{'type':'no_blanks', 'format': format_border})可以查看官网说明,实际上是根据条件判断,进行格式化。

'A1:XFD1048576'是目前.xlsx格式文件支持的sheet大小,如果想提高运行效率,可以在已知表格大小的情况下,缩小这个区域。笔者没有尝试,应该会有效果吧。

这里注意参数中的'type',内容可以非常丰富,具体可以参考下官网Working with Conditional Formatting这一章。

最终出来的excel表格效果是这样:

输出效果

已经可以满足我的需求了。

注意:以上代码框中的代码可以直接在装有pandas的环境中运行,文件会存在当前运行目录中。

5 感谢:

相关文章

  • 用XlsxWriter设置Excel的表格边框

    1. 背景 在用Pandas做数据处理时,为了呈现方便,往往会将结果数据导出为Excel文件。但美中不足的是Pan...

  • python- xlsxwriter模块使用(拓展:Excel插

    官方简介 拓展: xlsxwriter模块的简单使用:xlsxwriter模块主要用来生成excel表格,插入数据...

  • excel的系统学习第七天打卡

    今天学习的是excel的边框设置,excel的边框多种多样,掌握了之后可以对各种表格进行相应的美化处理。因此这个功...

  • xlsxWriter重构Excel表格

    Excel表格是微软开发的格式,在Linux上操作比较复杂python操作xlsx文件常用的包有三个: xlrd:...

  • html-表格购物车实现

    今天要实现的表格是这样的 设置表格的边框 可以看出这个表格是有边框的,所以我们需要设置border 设置表格的题目...

  • HTML 表格实现

    今天来完成下面的表格 border设置表格边框 这个表格是有边框的,所以需要进行设置。代码如下: caption ...

  • CSS 表格样式

    本节我们来学习表格样式,通过 CSS 中的属性可以设置表格的外观,例如表格边框样式、颜色、间距等。 设置表格边框 ...

  • [CP_16] Python爬虫数据的存储(Excel表格 |

    目录结构 1. 创建Excel表格,向其内写入数据 下载xlsxwriter模块: 代码实现:create-xls...

  • 8.18

    学习Excel 掌握了基础工具运用 1 设置单元格的格式:字体、底纹、颜色等 2.表格:如何加边框、斜线;...

  • css样式——表格篇

    CSS 表格属性可以帮助您极大地改善表格的外观。 表格边框 如需在 CSS 中设置表格边框,请使用border属性...

网友评论

    本文标题:用XlsxWriter设置Excel的表格边框

    本文链接:https://www.haomeiwen.com/subject/qsbsghtx.html