如何使用python中的openpyxl从Excel中获得浮点值?

我正在阅读一个Excel工作表并打印从中返回的数据。 但是当单元格中的数据是浮点值时,输出将打印为Long int。 如何使用openpyxl从Excel工作表中获取浮点值(使用openpyxl是因为它具有良好的文档)。 我知道我可以使用float关键字进行转换,但是如果在给出string作为输出的循环中使用,这也不起作用。
这里是示例excel数据

ABCD 1 Device Manufacturer LMP Version No.of Devices 2 DUT CSR 4.0 1 3 REF1 Broadcom 4.0 3 

代码是:

 import openpyxl wb=openpyxl.load_workbook('/home/workspace/python/Book1.xlsx') s = wb.get_sheet_by_name('Setup') for j in s['A1':'D3']: for cel in j: print cel.coordinate,cel.value print '-------------' 

输出是:

 A1 Device B1 Manufacturer C1 LMP Version D1 No. of Devices ------------- A2 DUT B2 CSR C2 4 D2 1 ------------- A3 REF1 B3 Broadcom C3 4 D3 3 

LMP版本是Long int,如何获得浮点值?

如果有一个数字存储为4.0实际上excel只将其存储为4 ,并且不会将.0存储在其内部结构中。 因此,在Excel中,您需要将它们转换为文本,而不是数字。

考虑这个例子的Excel文件:

在这里输入图像说明

现在使用7.zip或任何其他工具解压缩,然后导航到sheet1.xml如下所示:

在这里输入图像说明

在任何文本编辑器中打开xml(推荐使用notepad ++)

你会发现.0不存储在它。

<cr="B4" s="2"><v>4</v></c>

<cr="B5" s="2"><v>5</v></c>

<cr="C5"><v>0.82548104138781497</v></c>