我正在使用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,但我不确定如何实现。
答案 0 :(得分:1)
如果您要完成的工作只是使Excel很好地将数字视为数字(而不是字符串),则可以尝试将其转换为在python中浮点型。这种方法比为每个单元格分配格式快了近50%;
ws.cell(row=i, column=idx + 1).value = float(ws.cell(row=i, column=idx + 1).value)