乐于分享
好东西不私藏

自动化操作Excel -- 数字格式化设置

自动化操作Excel -- 数字格式化设置
只要是和数据打交道的人,就避免不了接触 Excel。对于大量的重复性工作,靠人工往往会耗费大量的时间。借助 Python 编程,可以批量自动化完成这些操作,起到事半功倍的效果。
我们知道 Pandas 模块它能够方便快捷地处理 Excel 数据,但是对于 Excel 格式的设置,借助 `openpyxl` 模块是一个很好的选择,这也是本文的重点内容。

数字格式化设置

有时候,我们会碰到这样的需要:将数字以某种格式进行展示。
在 openpyxl 模块中,获取单元格对象后,调用 number_format 属性,即可完成单个单元格的数字格式化设置。我们罗列了一些常用的数字格式化选项,如表所示。
数字格式化选项数字正数效果展示负数效果展示
General111
01.62-2
0.0011.00-1.00
0%0.550%-50%
0.00%0.550.00%-50.00%
#,##010001,000-1,000
#,##0.0010001,000.00-1,000.00
0.00E+00100001.00E+04-1.00E+04
¥#,##0_);[红色]¥-#,##01234¥1,234¥-1,234
$#,##0.00_);[红色]$-#,##0.001234$1,234.00$-1,234.00
mm-dd-yy2020-12-122020/12/12-
h:mm:ss10:30:3010:30:30-
这里我们随意挑选几个数字格式化选项,为大家做个演示。
在交互式环境中输入如下命令:
import datetimefrom openpyxl import Workbookwb = Workbook()ws = wb.activeprint(datetime.datetime(20261212103030))    # 输出:2020-12-12 10:30:30ws["A1"] = datetime.datetime(20261212103030)ws["A1"].number_format = "mm-dd-yy"ws["B1"] = 12345678ws["B1"].number_format = "¥#,##0.00_);[红色]¥-#,##0.00"wb.save("日期和时间.xlsx")
在 1、2 处,我们导入了 datetime 模块,并调用 datetime() 方法,以帮助我们生成一个指定的日期和时间。
在获取工作表对象 ws 后,首先利用赋值操作,将数据写入 A1、B1 单元格(见 3、5)。接着,调用单元格对象的 number_format 属性,再次利用赋值操作,分别为 A1、B1 单元格设置不同的数字格式(见 4、6),最终效果如图所示。
自动化excel的完整版文章pdf以及示例的excel源文件和jupyter源文件,我打包上传到网盘,可以私信回复“自动化excel”获取下载地址