使用openpyxl将句点更改为逗号



我想使用openpyxl来处理excel文件。为什么这个点不变成逗号?

我添加了这个最小可复制的例子:

我的Excel文件:

111.11
111.12

我的代码:

import openpyxl
def someFunction():
wb = openpyxl.load_workbook('test.xlsx')
ws = wb.active
for cell in ws['A']:
cell.number_format = 'Comma'
print(cell.number_format)
print(cell.value)
wb.save('test.xlsx')
someFunction()

注意:我尝试了不同的number_format值,比如#,##0,但它也不起作用

预期输出:

Comma
111,11
Comma
111,12

实际输出:

Comma
111.11
Comma
111.12

我没有直接的答案,但我已经对此进行了一段时间的故障排除,并提供了一些可能有所帮助的要点。

你肯定是在瞄准并影响excel表。

如果你输入想要的输出111111,然后问这个单元格是什么格式,你会发现它没有说逗号,而是说#,##0-使用这种格式而不是"逗号",你可以取111111的值并将其转换为111111…但是,你不能取111.111的值并用这种格式转换为11111。它只会更改为111并隐藏剩余的3位数字。不知道它为什么会这样。

当使用您的方法并检查生成的excel文件时,它显示为文本错误,实际单元格包含日期。这里发生了一些奇怪的事情。

  • 我尝试了很多步骤,包括在函数外运行,先将单元格格式化为数字,然后改为逗号,针对单个单元格等等,但都无济于事。此外,逗号格式似乎总是会出现错误,所以可能只是不支持它

最新更新