上一期获得赠书读者:芈小米,请尽快联系我,安排邮寄~

本篇是呆鸟原创系列 Pandas 百问百答 的第一篇,本系列的特点如下:

  1. 目标受众:Python 数据分析小白、从 Excel 处理数据转向用 Pandas 处理数据的新手

  2. 为什么要出个系列:目的很简单,就是为了解决新手小白在用 Pandas 处理数据时的实际问题

  3. 特点: 每次只解决一两个实际问题,碰到什么问题,就写什么问题

  4. 建议:内容不多,一定要上手实际试一下,呆鸟会给大家提供用到的 ipynb 文件与数据文件。

  5. 欢迎反馈:呆鸟的公号没有留言功能,也没有公号群,不过可以通过文章末尾的点击原文链接进入简书文章,给呆鸟留言,另外,推荐大家加严小样儿的微信号,严小样儿是位非常热心专业的群主,呆鸟也在他的群里厮混,有什么问题,可以在群里交流,除了呆鸟,还可以与很多数据分析大咖交流、学习。

严小样儿的微信

呆鸟云:本篇虽然是 Pandas 百问百答系列的开篇,但其实用的并不是 Pandas,而是 xlwings,但讲的是如何处理 Pandas 输出的 Excel 文件,为啥呢?因为,很多数据分析结果的用户,比如,部门领导、业务人员他们不会用 Python、Jupyter、Pandas,除非你有 BI 系统,否则大部分人都是看 Excel 的,但 Pandas 的 to_excel 函数输出的 xlsx 文件是不带格式的。

给领导或同事看 Excel,总不能一点格式都不设置吧,这也有点太 low 了,呆鸟就习惯把字体设为微软雅黑、字号设为 10,根据内容自适应列宽、短的文字列设置为居中,数字设置成带千分号的,当然还有百分比和日期格式也要设置,但本篇介绍的是如何快速设置边框

这里特别要说一下,别小看这个技巧,呆鸟可是研究了好久才解决,openpyxl、xlwings、xlsxwriter,这几个支持库呆鸟找了一溜够也没找到快速设置边框的方法,之前只好用 for 循环,速度超级慢,让人没法接受,不过好在通过一番研究找到了这个快速设置边框的方式,现在分享给大家,当然,如果有朋友有更好的方式,或者也有类似的方式,还请不吝赐教,至于联系方式,简书也可以,去严小样儿的群里也可以。

文归正传,下面就来看下这个功能是怎么实现的。假设这是一家叫小蜜蜂的超市,这家超市刚刚开业,只有苹果、梨、葡萄这三样产品,领导想看下销售情况,直接用 Pandas 输出是 Excel 这样的:

大家可以看到,这个表有几个问题:

  1. 边框不完整,只有部分单元格有边框

  2. 字体不美观,宋体不如微软雅黑看着好看

  3. 列宽不合适,有的列过宽,有的列窄了,比如日期列,都看不见日期了

  4. 居中未设置,比如产品列该居中,但居左了。

如果不经常处理格式也就罢了,但如果一天几十上百个表,还手动调整就很头疼了,今天就给大家解决第一个问题,快速设置 Excel 文件边框。

  1. 安装 xlwings

直接安装用 pip install xlwings,用 anaconda 的,已经内置了,见下图。

  1. 导入 xlwings

import xlwings as xw
  1. 打开 Excel 文件

# 打开存好的 Excel
app = xw.App() # 设置应用
wb = xw.Book('data/小蜜蜂超市销售报表.xlsx') # 打开文件
ws = wb.sheets['Sheet1']  # 选择表格

注意:要养成良好的习惯,数据文件与程序文件要分开存储,一般数据文件存储在 data 子目录里。

  1. 获取表格行列

last_column = ws.range(1, 1).end('right').get_address(0, 0)[0] # 获取最后一列
last_row = ws.range(1, 1).end('down').row # 获取最后一行a_range = f'A1:{last_column}{last_row}'  # 生成表格的数据范围

这里 a_range 输出的范围是 A1:D6,即数据表的整个内容。

  1. 设置 a_range,也就是 A1:D6 的表格边框

# 设置边框
ws.range(a_range).api.Borders(8).LineStyle = 1  # 上边框
ws.range(a_range).api.Borders(9).LineStyle = 1  # 下边框
ws.range(a_range).api.Borders(7).LineStyle = 1  # 左边框
ws.range(a_range).api.Borders(10).LineStyle = 1  # 右边框
ws.range(a_range).api.Borders(12).LineStyle = 1  # 内横边框
ws.range(a_range).api.Borders(11).LineStyle = 1  # 内纵边框

说明:

Borders() 里的参数,详见下表。

边框位置 说明
xlEdgeTop 8 上边框
xlEdgeBottom 9 下边框
xlEdgeLeft 7 左边框
xlEdgeRight 10 右边框
xlInsideHorizontal 12 内横边框
xlInsideVertical 11 内纵边框

LineStyle = 1,这里的 1 指的是边框为实线。

边框样式 说明
Transparent 0 透明
Solid 1 实线
Dashes 2 虚线
Double solid 8 双实线

看看下图,是不是已经有边框了。

到这里还不算完,还要关闭 Excel,保存 xlsx 文件。

# 保存并关闭 Excel
wb.save('data/小蜜蜂超市销售报表.xlsx')
wb.close()
app.quit()

到此,设置边框的操作就完成了,完整的 ipynb 文件,请找严小样儿加群后找我要。

其它的操作,下期再介绍。

建议大家安装 anaconda,呆鸟文章示例都是用 anaconda 内置的 Jupyter  NoteBook 编写与分享的,有了 Jupyter,学起来方便。

还有每次分享的内容不多,大家一定要上手试试,只是看代码,不敲代码,永远也学不会的。



Pandas 上手实战系列

你不一定知道这个用 Python 快速设置 Excel 表格边框的技巧相关推荐

  1. html数据分析表格api_你不一定知道这个用 Python 快速设置 Excel 表格边框的技巧...

    本篇是呆鸟原创系列 Pandas 百问百答 的第一篇,本系列的特点如下: 目标受众:Python 数据分析小白.从 Excel 处理数据转向用 Pandas 处理数据的新手 为什么要出个系列:目的很简 ...

  2. birt报表表格边框_Python 快速设置 Excel 表格边框

    1. 安装 xlwings 直接安装用 pip install xlwings2. 导入 xlwingsimport xlwings as xw 3. 打开 Excel 文件 # 打开存好的 Exce ...

  3. python快速将excel表格规范导入word

    提示:快速将excel表格规范导入word python快速将excel表格规范导入word 前言 二.开发环境 三.实现步骤 1.引入库 2.代码片段 前言 最近接到一个需求,公司的统计需要一个ex ...

  4. python处理表格数据-基于Python快速处理PDF表格数据

    我们有下面一张PDF格式存储的表格,现在需要使用Python将它提取出来. 使用Python提取表格数据需要使用pdfplumber模块,打开CMD,安装代码如下: pip install pdfpl ...

  5. python快速求EXCEL数据权重

    python快速求EXCEL数据权重 1.数据 2.9,1.13,26.98,0.97 3.3,1.16,26.16,0.99 2.5,1.29,27.2,0.99 3.1,</

  6. python实操100例乘法表_Python编程快速上手——Excel表格创建乘法表案例分析

    本文实例讲述了Python Excel表格创建乘法表.分享给大家供大家参考,具体如下: 题目如下: 创建程序multiplicationTable.py,从命令行接受数字N,在一个Excel电子表格中 ...

  7. python操作统计excel表格,生成新excel表格

    0.前言 因产品的同学试着用python统计Excel表格,但百度的程序又一直有各种问题, 所以叫我帮用python实现一个统计Excel表格程序:我之前也没有写过python操作Excel表格的程序 ...

  8. python处理excel表格数据-零基础使用Python读写处理Excel表格的方法

    引 由于需要解决大批量Excel处理的事情,与其手工操作还不如写个简单的代码来处理,大致选了一下感觉还是Python最容易操作. 安装库Python环境 首先当然是配环境,不过选Python的一个重要 ...

  9. com.alibaba.easyexcel导出指定的列_使用Python导入导出Excel表格

    这篇文章的目的是讲解使用python导入导出Excel表格,目前还不涉及数据处理,主要实现为数据的展示. 第一步,准备材料 python3.8的安装包 一个Excel表格 第二步,安装软件 pytho ...

最新文章

  1. Session 存储方式
  2. mac下编译安装grafana 4.2.0
  3. .NET团队送给.NET开发人员的云原生学习资源
  4. 安装SQL SERVER 2008时出现了SQL SERVER 2005 Express Tool Installed 的错误
  5. 嗨淘点赞运营版完整源码/刷单/手动派单版本
  6. mysql 存儲過程調用_mysql-VS2010+MYSQL 存儲過程調用出錯
  7. Hive入门(三)分桶
  8. Python文件操作与matplotlib数据可视化案例一则
  9. CSS3 Transform变形理解与应用
  10. 怎样把Linux的私钥文件id_rsa转换成putty的ppk格式
  11. Java计算两点坐标之间的距离
  12. 第一阶段·Linux运维基础 第3章·文件属性、正则表达式、文件权限
  13. Oracle快速入门(1)——ORACLE数据库简介
  14. WINCE ROM 定制大教程
  15. 微软苏州STCA面试
  16. 优秀java程序员必须具备的技术技能
  17. Android setTheme设置透明主题无效
  18. CMake Tutorial
  19. android os仿ios,安卓仿ios12桌面全套仿安卓完美版
  20. IE浏览器快速切换各个版本

热门文章

  1. 声学的一些基本知识(1)
  2. 让电脑无法使用QQ或微信
  3. Promise学习:基础入门
  4. 计算电话费练习【20171121】
  5. Chrome插件有哪些?
  6. H.265之三 -帧内预测(3)
  7. 成立126年的通用电气GE投资区块链网络安全初创公司
  8. 苹果暗黑模式_微信暗黑模式终于来了!这次微信对苹果认怂了?腾讯张军回应......
  9. 吉他技巧—如何推算和记忆和弦
  10. POI设置Excel下拉列表(数据有效性验证)