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