使用Python设置Excel单元格数字的显示格式

 更新时间:2024年06月24日 10:33:14   作者:Eiceblue  
Python语言可以帮助我们灵活设置Excel单元格的数字格式,保证数据的一致性与专业标准,本文将介绍如何使用Python对Excel工作表中单元格的数字格式进行设置,文中通过代码示例介绍的非常详细,需要的朋友可以参考下

引言

Excel作为强大的数据处理与分析工具,不仅能够存储大量数据,还支持复杂的数据处理与可视化功能。而如何恰当地展示Excel表格中的数据是Excel文件制作的关键之一。这便涉及到Excel单元格数字格式的设置。数字格式不仅关乎数据的美学呈现,如货币、日期或百分比的格式化显示,更直接影响到数据的可读性与准确性。Python语言可以帮助我们灵活设置Excel单元格的数字格式,保证数据的一致性与专业标准。本文将介绍如何使用Python对Excel工作表中单元格的数字格式进行设置。

本文所使用的方法需要用到Spire.XLS for Python,PyPI:pip install Spire.XLS

通过格式代码设置Excel单元格的数字格式

Excel中单元格的数字显示格式可以由格式代码进行设置,这些代码通过一些列符号决定单元格中数值数据、时间和日期数据以及汇率数据等的显示方式。以下是一些常用的格式代码符号:

  • #:表示数字占位符,仅显示非零数字。
  • 0:代表数字占位符,显示数字时总会占据至少一个位置,即使数字为 0 也会显示。
  • ;(半角分号):用于分隔正数、负数和零的格式。
  • /(斜杠):在日期格式中分隔年、月和日。
  • $:货币符号,用于表示货币值,可根据系统区域设置。
  • ()(半角括号):用于负数的格式,使负数显示在括号中。
  • [](方括号):用于条件格式设置,如颜色设置[Red]或条件表达式[<=100]"Low";[>100]"High"

库中提供CellRange.NumberValue来在单元格中添加数据,以及CellRange.NumberFormat来通过格式代码来设置单元格数据的数字展示格式。以下是用Python设置Excel单元格数字格式的操作步骤:

  1. 导入所需模块。
  2. 创建Workbook实例从而创建一个Excel工作簿。
  3. 使用Worhbook.Worksheets.Clear()方法清除默认工作簿,并使用Workbook.Worksheets.Add()方法在工作簿中新建一个工作表。
  4. 使用Worksheet.Range[].Text属性设置表头文本。
  5. 使用Worksheet.Range[].NumberValue属性设置单元格数据,并使用Worksheet.Range[].NumberFormat通过格式代码设置单元格数字格式。
  6. 使用CellRange.Style.Font属性下的属性设置字体格式,以及CellRange.AutoFitRows()CellRange.AutoFitColumns()方法自动调整行高和列宽。
  7. 使用Workbook.SaveToFile()方法保存工作簿。
  8. 释放资源。

代码示例:

from spire.xls import *
from spire.xls.common import *

# 创建Workbook实例
workbook = Workbook()

# 清除默认工作表并创建一个新的工作表
workbook.Worksheets.Clear()
sheet = workbook.Worksheets.Add("数字格式")

# 设置标题行
sheet.Range["B9"].Text = "数字格式"
sheet.Range["C9"].Text = "数值"
sheet.Range["D9"].Text = "显示"

# 设置带千位分隔符和两位小数的数字
sheet.Range["B10"].Text = "带千位分隔符和两位小数的数字"
sheet.Range["C10"].Text = "-1234123.5678"
sheet.Range["D10"].NumberValue = -1234123.5678
sheet.Range["D10"].NumberFormat = "#,##0.00"

# 设置红色的数字
sheet.Range["B11"].Text = "红色数字"
sheet.Range["C11"].Text = "12345.12345"
sheet.Range["D11"].NumberValue = 12345.12345
sheet.Range["D11"].NumberFormat = "[Red]###0.00"

# 设置带两位小数的百分数
sheet.Range["B12"].Text = "带两位小数的百分数"
sheet.Range["C12"].Text = "0.12345"
sheet.Range["D12"].NumberValue = 0.12345
sheet.Range["D12"].NumberFormat = "0.00%"

# 设置带括号的数字
sheet.Range["B13"].Text = "带括号的数字"
sheet.Range["C13"].Text = "-1234.5678"
sheet.Range["D13"].NumberValue = -1234.5678
sheet.Range["D13"].NumberFormat = "(###0.00;(###0.00))"

# 设置日期
sheet.Range["B14"].Text = "日期"
sheet.Range["C14"].Text = "36526"
sheet.Range["D14"].NumberValue = 36526
sheet.Range["D14"].NumberFormat = "yyyy/m/d"

# 设置24小时制时间
sheet.Range["B15"].Text = "24小时制时间"
sheet.Range["C15"].Text = "0.6"
sheet.Range["D15"].NumberValue = 0.6
sheet.Range["D15"].NumberFormat = "H:MM:SS"

# 设置中文格式的货币
sheet.Range["B16"].Text = "中文格式的货币"
sheet.Range["C16"].Text = "1234.56"
sheet.Range["D16"].NumberValue = 1234.56
sheet.Range["D16"].NumberFormat = "¥#,##0.00"

# 设置科学计数法
sheet.Range["B17"].Text = "科学计数法"
sheet.Range["C17"].Text = "1234.5678"
sheet.Range["D17"].NumberValue = 1234.5678
sheet.Range["D17"].NumberFormat = "0.00E+00"

# 设置日期和12小时制时间
sheet.Range["B18"].Text = "日期和12小时制时间"
sheet.Range["C18"].Text = "36526"
sheet.Range["D18"].NumberValue = 36526
sheet.Range["D18"].NumberFormat = "yyyy/m/d h:mm:ss 上午/下午"

# 设置带文本的数字
sheet.Range["B19"].Text = "带文本的数字"
sheet.Range["C19"].Text = "1234.5678"
sheet.Range["D19"].NumberValue = 1234.5678
sheet.Range["D19"].NumberFormat = "\"CNY \"###0.00"

# 设置字体、字体大小并自动调整行列
sheet.AllocatedRange.Style.Font.FontName = "HarmonyOS Sans SC"
sheet.AllocatedRange.Style.Font.Size = 13
sheet.AllocatedRange.AutoFitRows()
sheet.AllocatedRange.AutoFitColumns()

# 保存文件
workbook.SaveToFile("output/Excel单元格数字格式.xlsx", FileFormat.Version2016)
workbook.Dispose()

保存的工作簿

本文介绍了如何使用Python设置Excel工作表中单元格的数字格式。

到此这篇关于使用Python设置Excel单元格数字的显示格式的文章就介绍到这了,更多相关Python Excel数字格式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python抓取网页中的图片示例

    python抓取网页中的图片示例

    这篇文章主要介绍了python抓取网页中图片的示例,需要的朋友可以参考下
    2014-02-02
  • 详解Python Celery和RabbitMQ实战教程

    详解Python Celery和RabbitMQ实战教程

    这篇文章主要介绍了详解Python Celery和RabbitMQ实战教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 使用python实现BLAST

    使用python实现BLAST

    最近在自学python,又用python实现了一下BLAST。 这次更新了打分函数如下,空位罚分改为-5,但不区分gap open 和 gap extend。
    2018-02-02
  • Python 比较两个 CSV 文件的三种方法并打印出差异

    Python 比较两个 CSV 文件的三种方法并打印出差异

    这篇文章主要介绍了Python 比较两个 CSV 文件并打印出差异,本文将讨论比较两个 CSV 文件的各种方法,我们将包括执行此操作的最“Pythonic”方式和可帮助简化此任务的外部 Python 模块,需要的朋友可以参考下
    2023-06-06
  • python 文件管理库 Path常用操作

    python 文件管理库 Path常用操作

    Path库是python常见的文件操作库(以对象形式操作文件路径),本文结合实例代码给大家介绍python文件管理库Path常用操作,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • Pycharm打印大数据文件显示不全的解决方法

    Pycharm打印大数据文件显示不全的解决方法

    这篇文章主要介绍了Pycharm打印大数据文件显示不全的解决方法,昨晚写了个小爬虫,简单分析下发现可以修改请求的url,直接获取所有目标的数据,想先打印在控制台看看,发现打印的数据不全,所以本文记录了一下解决方法,需要的朋友可以参考下
    2024-03-03
  • 详解NumPy中np.where() 的两种神奇用法

    详解NumPy中np.where() 的两种神奇用法

    np.where()是 NumPy 中用于条件选择和元素定位的核心函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-01-01
  • 使用Python为Word添加文本与图片水印

    使用Python为Word添加文本与图片水印

    文档水印是办公自动化工作流中的常见需求,本教程演示如何使用 Python 为 Word文档添加文本和图片水印,这里介绍的方法适用于批量处理公司报告、添加保密标识或创建品牌文档模板,需要的朋友可以参考下
    2026-03-03
  • Python发送手机动态验证码代码实例

    Python发送手机动态验证码代码实例

    这篇文章主要介绍了Python发送手机动态验证码代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python实现一个列表分割成多个列表的四种示例

    Python实现一个列表分割成多个列表的四种示例

    本文主要介绍了Python实现一个列表分割成多个列表的四种示例,包括使用循环、切片操作、itertools.groupby()和numpy的array_split(),具有一定的参考价值,感兴趣的可以了解一下
    2024-12-12

最新评论