Openpyxl 读取 100% 为 'int'
Openpyxl read 100% as 'int'
我正在尝试使用 Openpyxl 读取 excel 文件:
单元格 A1:100%
A2单元格: 89.3%
两者都是excel中的百分比格式。
但是当我在 Openpyxl 中阅读它们时,它得到:
>>> type(ws['A1'].value)
<class 'int'>
>>> type(ws['A2'].value)
<class 'float'>
有没有办法将单元格 A1 的单元格格式读取为 'percentage',或者只是将其读取为 float '1.00'?
我不想在我的代码中添加判断,例如 'value==1' 或任何东西。
我的第一个猜测是使用一种方法删除 cella 中的所有 % 符号并将其存储到一个新变量并将其转换为整数然后除以 100 得到一个浮点数 point/integer数字。不过这样做有点奇怪。
你可以return像
res = f"{value * 100}%"
所以 1.00 将是“100%”
我在半小时前发布问题时找到了解决方案...
只需检查
cell.number_format
示例:
value = ws.cell(i, j).value
nf = ws.cell(i, j).number_format
if value == 1 and (nf =='0.0%' or nf == '0.00%'):
value = '100%'
我正在尝试使用 Openpyxl 读取 excel 文件:
单元格 A1:100%
A2单元格: 89.3%
两者都是excel中的百分比格式。
但是当我在 Openpyxl 中阅读它们时,它得到:
>>> type(ws['A1'].value)
<class 'int'>
>>> type(ws['A2'].value)
<class 'float'>
有没有办法将单元格 A1 的单元格格式读取为 'percentage',或者只是将其读取为 float '1.00'?
我不想在我的代码中添加判断,例如 'value==1' 或任何东西。
我的第一个猜测是使用一种方法删除 cella 中的所有 % 符号并将其存储到一个新变量并将其转换为整数然后除以 100 得到一个浮点数 point/integer数字。不过这样做有点奇怪。
你可以return像
res = f"{value * 100}%"
所以 1.00 将是“100%”
我在半小时前发布问题时找到了解决方案...
只需检查
cell.number_format
示例:
value = ws.cell(i, j).value
nf = ws.cell(i, j).number_format
if value == 1 and (nf =='0.0%' or nf == '0.00%'):
value = '100%'