Python Openpyxl 100%读取为“int”
我正在尝试使用Openpyxl读取excel文件: A1单元:100% A2单元:89.3% 它们都是excel中的百分比格式 但当我在Openpyxl中阅读它们时,它得到:Python Openpyxl 100%读取为“int”,python,excel,openpyxl,Python,Excel,Openpyxl,我正在尝试使用Openpyxl读取excel文件: A1单元:100% A2单元:89.3% 它们都是excel中的百分比格式 但当我在Openpyxl中阅读它们时,它得到: >>> type(ws['A1'].value) <class 'int'> >>> type(ws['A2'].value) <class 'float'> 是否有方法将单元格A1的单元格格式读取为“百分比”,或仅将其读取为浮点“1.00” 我不想在我的代码中
>>> type(ws['A1'].value)
<class 'int'>
>>> type(ws['A2'].value)
<class 'float'>
是否有方法将单元格A1的单元格格式读取为“百分比”,或仅将其读取为浮点“1.00”
我不想在我的代码中添加诸如“value==1”之类的判断。我的第一个猜测是使用一种方法删除单元格中的所有%符号,并将其存储到一个新变量,然后将其转换为整数,然后除以100得到一个浮点/整数。不过,这样做有点奇怪。我的第一个猜测是使用一种方法删除单元格中的所有%符号,并将其存储到一个新变量,然后将其转换为整数,然后除以100得到一个浮点/整数。不过,这样做有点奇怪。您可以返回如下内容
res = f"{value * 100}%"
所以1.00应该是100%您可以返回如下内容
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%'
我在半小时前发布我的问题时找到了解决方案 检查一下
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%'
python中没有百分比是类。如果需要的话,您可以强制转换为一个浮点,然后在以后的格式中添加一个百分比。python中没有百分比是类。如果需要,您可以将其转换为浮点数,然后在以后的格式中添加一个%。谢谢您的回答。我的关键是我无法读取“%”字符,否则整个过程将变得更加简单。谢谢您的回答。我的关键是我无法读取“%”字符,否则整个过程将变得更加简单。谢谢您的回答。我不想做这样的转换,因为可能有其他值只是int“1”,不应该转换为。谢谢你的回答。我不想做这样的转换,因为可能有其他值只是int“1”,不应该转换为int。