首页 > 解决方案 > 使用 win32com 和 Excel 和 Python 将所有数字设置为具有 General DisplayFormat

问题描述

我们有一个需要处理 Excel 电子表格的应用程序。其中一些带有疯狂的数字格式,因此像 1.23456789 这样的数字显示为 1.23。我们需要自动删除此格式,并且仅删除此格式。似乎正确的方法是使用 python win32com API 编写程序,让 Excel 打开电子表格,然后将带有数字的单元格的格式更改为 General。

这样做的简单方法是什么?

标签: excelprecisionnumericpywin32win32com

解决方案


下面是一个简单的代码片段,它遍历 Excel 工作簿中的所有单元格,并有条件地更新每个单元格的数字格式。它使用xlwings,本质上是一个强大且用户友好的 python win32com API 包装器。

import xlwings as xw

book = xw.Book('example.xlsx')
for sheet in book.sheets:
    for cell in sheet.used_range:
        if cell.number_format == '0.00':
            cell.number_format = 'General'

推荐阅读