通过 python 中的 xlwings 调整 Excel 中的数字格式

Posted

技术标签:

【中文标题】通过 python 中的 xlwings 调整 Excel 中的数字格式【英文标题】:Adjust number formatting in Excel via xlwings from python 【发布时间】:2019-03-28 06:39:10 【问题描述】:

我已经开始使用 xlwings 创建一个调用 python 代码的 excel 工具。我认为它非常有用,同时用户友好,因为每个人都习惯将 excel 作为 GUI。

现在我的问题是:该工具运行良好。但是,我留下了一些格式。目前我可以进行一些格式化(范围(XX).number_format = XX),但我还没有设法创建我想要的格式。

我想用逗号分隔不带小数的数字。

sht = xw.Book.caller().sheets[0]

sht.range('C:D').number_format = '0.00' (1)

sht.range('C:D').number_format = 'General' (2)

sht.range('C:D').number_format = '#’##0' (3)

(1):这行得通。但是,数字不是逗号分隔的(如预期的那样)

(2):不起作用。 Python运行并运行,没有任何反应。 (“数字”也一样)

(3):在我的机器/我的 excel 版本上产生想要的结果。但是,在我朋友的 excel 上,它看起来有所不同,并且不再产生预期的结果。

非常感谢您的帮助。

【问题讨论】:

你试过"#,##0" 感谢您的回复。我已经尝试过了,但它不起作用。数字不以通常的逗号分隔格式显示。 Produces desired results on my machine/ my excel version. However, on my friend's excel it looks different 你能举个例子吗?我不知道python,但我可以尝试和帮助? 【参考方案1】:

为了以千位显示格式并用逗号分隔,我尝试了这个,

number_format = "#,##0"

它在我的情况下完美运行。

【讨论】:

以上是关于通过 python 中的 xlwings 调整 Excel 中的数字格式的主要内容,如果未能解决你的问题,请参考以下文章

python操作excel之xlwings

插上翅膀,让Excel飞起来——xlwings

插上翅膀,让Excel飞起来——xlwings

使用xlwings在excel中的函数调用之间保留python全局变量

通过python,将excel中的数据写入二维列表

从 xlwings 调用 Pycharm 中的断点