用openpyxl格式化列的最快方法(Python)

时间:2018-08-13 20:55:56

标签: python openpyxl

我正在使用Openpyxl并为动态确定的列数和行数应用数字格式(基于可用数据),例如

ws.cell(row=i, column=idx + 1).number_format = '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)'

格式化一些较大的工作簿需要很长时间。

我要完成的工作是创建将整数和浮点数视为数字(没有小数位或两个小数位)而不是字符串的工作簿,而我希望所有idx列都使用它。我已经读过,可能与以下内容有关:https://openpyxl.readthedocs.io/en/stable/_modules/openpyxl/styles/numbers.html,但我不确定如何实现。

1 个答案:

答案 0 :(得分:1)

如果您要完成的工作只是使Excel很好地将数字视为数字(而不是字符串),则可以尝试将其转换为在python中浮点型。这种方法比为每个单元格分配格式快了近50%;

ws.cell(row=i, column=idx + 1).value = float(ws.cell(row=i, column=idx + 1).value)