Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Openpyxl 100%读取为“int”_Python_Excel_Openpyxl - Fatal编程技术网

Python Openpyxl 100%读取为“int”

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” 我不想在我的代码中

我正在尝试使用Openpyxl读取excel文件:

A1单元:100%

A2单元:89.3%

它们都是excel中的百分比格式

但当我在Openpyxl中阅读它们时,它得到:

>>> 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。