Python 用xlrd读取科学数字

Python 用xlrd读取科学数字,python,xlrd,Python,Xlrd,这个问题很简单,但没有找到好的答案 在Excel中,我生成需要自动读取的文件。它们由ID号读取,但我得到的格式是将其设置为文本。使用xlrd时,我得到以下格式: 5.5112E+12 当我需要这种格式时: 5511195414392 实现这一目标的最佳方式是什么?我希望避免使用xlwt,但如果有必要,我也可以在该过程中使用入门帮助 import decimal decimalNotation = decimal.Decimal(scientificNotationValueFromExcel)

这个问题很简单,但没有找到好的答案

在Excel中,我生成需要自动读取的文件。它们由ID号读取,但我得到的格式是将其设置为文本。使用xlrd时,我得到以下格式:

5.5112E+12

当我需要这种格式时:

5511195414392

实现这一目标的最佳方式是什么?我希望避免使用xlwt,但如果有必要,我也可以在该过程中使用入门帮助

import decimal

decimalNotation = decimal.Decimal(scientificNotationValueFromExcel)
我做了下面的快速程序来测试它。从中读取的Excel文件在第一个单元格中有一个条目

from xlrd import *
import decimal

workbook = open_workbook('test.xlsx')

sheet = workbook.sheet_by_index(0)

value = sheet.cell_value(0, 0)

print decimal.Decimal(value)

我使用CSV模块来解决这个问题,因为它可以正确读取单元格。

(1)您需要更详细地解释您正在尝试做什么。在Excel中,您是如何生成文件的?手动?“我得到的格式是将其设置为文本”:如何获得?设定什么?(2) Excel将所有数字保存为64位浮点。如何显示xlrd从文件中检索的内容取决于您。对于ID号,
str(int(x))
会更好。(1)不建议使用xlrd导入的
*
。(2) 使用
decimal
是过分的。