如何使用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>